在 CentOS 上开启 PHP 日志,通常分为 PHP 错误日志 和 PHP-FPM 日志(如果你用的是 PHP-FPM)。下面按常见场景说明。
php --ini
或
rpm -ql php-common | grep php.ini
常见路径:
/etc/php.ini
vi /etc/php.ini
确保以下配置开启(去掉前面的 ;):
display_errors = Off ; 生产环境建议关闭
log_errors = On
error_reporting = E_ALL
error_log = /var/log/php/php_error.log
mkdir -p /var/log/php
chown -R apache:apache /var/log/php # 如果是 php-fpm 用 nginx:nginx
chmod 755 /var/log/php
systemctl restart httpd
systemctl restart php-fpm
如果你用 Nginx + PHP-FPM:
vi /etc/php-fpm.conf
或
vi /etc/php-fpm.d/www.conf
添加或修改:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
error_log = /var/log/php-fpm/error.log
log_level = notice
mkdir -p /var/log/php-fpm
chown -R nginx:nginx /var/log/php-fpm
systemctl restart php-fpm
tail -f /var/log/php/php_error.log
tail -f /var/log/php-fpm/error.log
setenforce 0 # 临时关闭测试
或添加 SELinux 规则
ps aux | grep php-fpm
ps aux | grep httpd
如果你用的是 CentOS 7 / 8 / Stream,或者 Apache/Nginx + PHP 版本,可以告诉我,我可以给你精确配置。