Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What is going on with this article?
@bezeklik

CentOS で PHP のエラーログが出力されない

More than 3 years have passed since last update.

error_log

デフォルトでは PHP のエラーログは Apache のエラーログ /var/log/httpd/error_log に出力される。
PHP の ini ファイルで error_log に値を指定するとそちらにエラーログが記録されることになっているが、CentOS のデフォルト状態ではそれだけでは出力されない。

php.ini
error_log = /var/log/php_error.log

よく見かける対策

php.ini で設定しても出力されないエラーログをちゃんと出すポイント! – oki2a24」などで記載されている対策が、touch コマンドでのファイルの作成と chown コマンドでの所有権の変更だ。
ただし、CentOS のデフォルトの状態ではこれでも出力されない。

touch /var/log/php_error.log
chown apache:apache /var/log/php_error.log

もう一つ必要な対応

実はデフォルトで有効になっている SELinux のせいで出力されない。
以下のコマンドで /var/log/httpd/error_log と同等のコンテクストを設定する。

chcon -t httpd_log_t /var/log/php_error.log

これで無事エラーログが出力されるようになる。
error_log で指定したログファイルにエラーログが出力されるようになると、Apache のログには出力されなくなる。

まとめ

以下のコマンドが必要。

touch /var/log/php_error.log
chcon -t httpd_log_t /var/log/php_error.log
chown apache. /var/log/php_error.log
chmod 600 /var/log/php_error.log

ログの例

Apache のエラーログと PHP のエラーログでは、メッセージ内容は同等だが日付等の表記が異なる。

Apache エラーログ

[Thu Jan 19 21:25:09.225123 2017] [:error] [pid 10594] [client 192.168.56.1:50552] PHP Notice:  Undefined variable: undefinedVariables in /var/www/html/index.php on line 4
[Thu Jan 19 21:25:09.225182 2017] [:error] [pid 10594] [client 192.168.56.1:50552] PHP Deprecated:  Function set_magic_quotes_runtime() is deprecated in /var/www/html/index.php on line 5
[Thu Jan 19 21:25:09.225194 2017] [:error] [pid 10594] [client 192.168.56.1:50552] PHP Warning:  ini_set() expects exactly 2 parameters, 0 given in /var/www/html/index.php on line 6
[Thu Jan 19 21:25:09.225202 2017] [:error] [pid 10594] [client 192.168.56.1:50552] PHP Fatal error:  Call to undefined function undefined() in /var/www/html/index.php on line 7

PHP エラーログ

[19-Jan-2017 21:51:14 Asia/Tokyo] PHP Notice:  Undefined variable: undefinedVariables in /var/www/html/index.php on line 4
[19-Jan-2017 21:51:14 Asia/Tokyo] PHP Deprecated:  Function set_magic_quotes_runtime() is deprecated in /var/www/html/index.php on line 5
[19-Jan-2017 21:51:14 Asia/Tokyo] PHP Warning:  ini_set() expects exactly 2 parameters, 0 given in /var/www/html/index.php on line 6
[19-Jan-2017 21:51:14 Asia/Tokyo] PHP Fatal error:  Call to undefined function undefined() in /var/www/html/index.php on line 7
19
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
bezeklik
サーバー管理、CMS構築のお仕事募集中。 Linux (CentOS, Amazon Linux) / Apache / Nginx / PHP / MySQL / Docker / CMS (WordPress, Ibexa, eZ Platform, eZ Publish, Drupal) / Redmine

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
19
Help us understand the problem. What is going on with this article?