PHP - ログ - 出力先設定


クラウディア 


1. 概要
2. 設定(FreeBSD)
3. 設定(AlmaLinux)

1. 概要

 「PHP」のログは、設定によっては、ウェブブラウザ上に表示されます。  まぁ、あんまりみっともいいものではないですが。  コンフィグレーションファイルをいじることで、ログファイルに出力することができます。  本ページは、下記のサイトを参考にさせていただきました。
PHP の設定ファイルやログファイルの場所

2. 設定(FreeBSD)

 コンフィグレーションファイルを編集します。  「root」ユーザ権限で。

vi /usr/local/etc/php.ini
 くどいようですが、ファイル名はおそらく同じで、プラットフォームにより、ディレクトリは異なります。  行番号は、アバウトです。

; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; https://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
 のあたりですな。  「Windows」のイベントログあたりの書き方まで書いてあるのが、丁寧です。  ここらに。

error_log = /パス/ファイル名
 の形式で書いてやれば、出力されます。  「FreeBSD」の場合、所有権を「www」にすることや、ローテーションに気を付けてやれば、ばっちりです。

3. 設定(AlmaLinux)

 前項で「ファイル名はおそらく同じで、プラットフォームにより、ディレクトリは異なります」と書きましたが。  「AlmaLinux 9.5」「Apache/2.4.62」「PHP 8.2.25」の環境ではさらに複雑。

/etc/php.ini
 の定義かと思いきや。

/etc/php-fpm.d/www.conf
 に書いてある方が有効で。  下記のように記述してありまして。

php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
 下記へ出力されておりました。

/var/log/php-fpm/www-error.log

earthcar(アースカー)