PHP のエラーログはどこ?Linux・レンタルサーバー・WordPress 別の場所
PHP のエラーログの場所を、php.ini の設定・Linux の Web サーバー・WordPress の debug.log に分けてまとめた。移行後の不具合を調べるときに使う。
PHP の移行後にサイトがおかしくなったら、まずエラーログを見る。どこに出るかは、php.ini の設定と Web サーバーの種類で決まる。
この記事の要点
- 出る場所は php.ini の
error_logの設定で決まる - 設定がなければ、Web サーバーのエラーログに出る
- WordPress なら
WP_DEBUG_LOGでwp-content/debug.logに出せる - debug.log は外から見えることがある。調べ終わったら消す
まず設定を確かめる
- php.ini の
error_logに場所が書いてあれば、そこに出る - コマンドで確かめるなら
php -i | grep error_log - ただしコマンドの PHP と、Web で動く PHP は設定が違うことがある。Web 側は
phpinfo()で見る(見たらすぐ消す)
Linux の主な場所
| 動かし方 | よくある場所 |
|---|---|
| Apache(Debian・Ubuntu) | /var/log/apache2/error.log |
| Apache(RHEL・AlmaLinux など) | /var/log/httpd/error_log |
| nginx | /var/log/nginx/error.log |
| PHP-FPM | /var/log/php-fpm/ 以下、または FPM の設定にある場所 |
- 実際の場所は、配布元や設定によって変わる
- PHP-FPM では、
catch_workers_outputなどの設定で出方が変わる
レンタルサーバー
- 多くは管理画面に「エラーログ」を見る機能がある
- 見られない場合は、サーバー会社に場所を聞く
WordPress の debug.log
wp-config.php に次の3行を書くと、エラーが wp-content/debug.log に出る。
define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);(画面には出さない)
debug.log は外から見えることがある
wp-content/debug.log は、そのままだとブラウザから読めることがある。調べ終わったら設定を戻し、ファイルを消す。
移行後によく出るエラー
create_function()・each()・money_format()・get_magic_quotes_gpc()などが削除0 == "foo"が false に(数値と文字列の比較の仕方が変わった)- 未定義の定数が、警告ではなくエラーに
Deprecated: ... Passing null to parameter(PHP 8.1 以降の非推奨の警告)
よくある質問
エラーログが空なのにサイトが動かない
ログの出る場所が違う可能性がある。php.ini の error_log の設定と、Web サーバーのエラーログの両方を見る。コマンドの PHP と Web の PHP で設定が違うことにも注意。
本番の画面にエラーを出してもいい?
出さない。エラーにはサーバーの情報が含まれることがある。display_errors はオフにして、ログで確かめる。
WordPress の debug.log は消していい?
調べ終わったら消してよい。残すと外から読まれることがある。
無料ツールPHP2Shell 脆弱性チェッカーPHP のバージョンとサーバー会社を選ぶだけで、危険度と今やることが分かります。参考にした情報
- php.net(2026年10月21日のセキュリティ告知)
- php.net:Supported Versions
- php.net:Unsupported Branches
- php.net:付録(移行ガイド)
この記事の情報
2026年10月22日時点の公開情報にもとづく。最新は php.net と、利用中のサーバー会社の告知を確認すること。
PHP のバージョンとサーバー会社を選ぶだけで、危険度と今やることが分かる。移行の相談もできる。
無料で診断する