php-fpmのログファイルのログレベルについて

2024-02-15

古いWordpressのブログがあって使用しているプラグインが古いので「/var/log/php-fpm/www-error.log」に下記のWarningのエラーが大量に出力されていました。このWarningを出力しないようにログレベルを変更したりしたが駄目でした

[19-Dec-2023 10:32:22 UTC] PHP Warning:  preg_replace(): Compilation failed: invalid range in character class at offset 4 in/var/www/html/wordpress/html/wp-
content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
[19-Dec-2023 10:30:22 UTC] PHP Warning:  Trying to access array offset on value of type bool in/var/www/html/wordpress/html/wp-content/plugins/pixabay-images/pixabay-images.php on line 34

php-fpm のログレベルの設定は「/etc/php-fpm.conf」にあったので、ログレベルをエラー以上に変更しましたが、www-error.logにはWarningのエラーが出力されないようにログレベルを変更しました

# ログレベルを変更する
$ sudo vim /etc/php-fpm.conf
; Log level
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = error

# apache, php-fpmの再起動
$ sudo systemctl restart php-fpm.service 
$ sudo  systemctl restart httpd

上記の設定をいれても「www-error.log」には、Warningのエラーログは出力されていたので、ログレベルの設定はあきらめて、エラーの原因となっているプラグインを無効にして対処しました

【追記】

こちらですが、php.iniの「error_reporting」の設定も変更しないと駄目みたいです。
/etc/php-fpm.conf で設定したログレベルは、php.ini で設定したログレベルよりも優先されますので、php.iniでphp-fpmよりログレベルが低いとWarning等のエラーが出力される可能性あります

# ログレベルをエラーのみにします
$ sudo vim /etc/php.ini
log_level = E_ERROR

# apacheとphp-fpmを再起動します
$ sudo systemctl restart httpd
$ sudo systemctl restart php-fpm