PHP error log 檔案位置

2024022913:52

php 兩種執行方式:
apache module 以及 php-fpm
有不同的 error log 設定、路徑:
 

apache module

1.
首先,找到 php.ini 的位置 (大部分會是在 /etc/php.ini)
 $ php --ini |grep Loaded
Loaded Configuration File:         /etc/opt/remi/php74/php.ini

2.
vi /etc/opt/remi/php74/php.ini
通常 會是被註解的狀態:
: : :
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
: : :


改成這樣:
error_log = /path/to/php_errors.log
#檔案會以 apache:apache 身份寫入,所以要確認 /path/to 目錄必需是 apache:apache 能夠讀寫

另外,也可在 php  程式最前面加兩行,
自己決定錯誤記錄檔案的位置、檔名
<?php
ini_set("log_errors", 1);
ini_set('error_log', '/path/to/err_log.txt');
#或 ini_set('error_log', dirname(__FILE__).'/err_log.txt');
#檔案會以 apache:apache 身份寫入,所以要確認 /path/to 目錄必需是 apache:apache 能夠讀寫

echo 1/0;
?>
 

php-fpm

若是 php-fpm
相關 error 記錄會存在 /var/log/php-fpm
# ls -l /var/log/php-fpm/
total 244
-rw------- 1 root   root        0 Jan 21 03:49 error.log
-rw------- 1 root   root    20275 Dec 31 01:00 error.log-20231231
-rw------- 1 root   root     9681 Jan  7 00:37 error.log-20240107
-rw------- 1 root   root    13663 Jan 14 03:40 error.log-20240114
-rw------- 1 root   root    11518 Jan 19 10:51 error.log-20240121
-rw-r--r-- 1 apache apache      0 Jan 21 03:49 www-error.log
-rw-r--r-- 1 apache apache   4794 May 10  2023 www-error.log-20230514
-rw-r--r-- 1 apache apache  21808 Jan 17 02:14 www-error.log-20240117
-rw-r--r-- 1 apache apache 146828 Jan 18 08:13 www-error.log-20240121

相關設定
vi /etc/php-fpm.d/www.conf
php_admin_value[error_log] = /var/log/php-fpm/www-error.log