下面分几种常见情况说明 如何在 CentOS 上开启 PHP 日志,你可以按实际情况选择。
先确认你用的是哪个 php.ini:
php -i | grep "Loaded Configuration File"
常见路径:
/etc/php.ini/etc/php/7.x/cli/php.ini/etc/php/7.x/fpm/php.ini如果是 PHP-FPM,通常是:
/etc/php-fpm.d/www.conf
编辑配置文件:
vim /etc/php.ini
确认或修改以下配置:
; 开启错误显示(开发环境)
display_errors = On
; 开启错误日志
log_errors = On
; 错误日志路径
error_log = /var/log/php/php_error.log
; 错误报告级别
error_reporting = E_ALL
⚠️ 生产环境建议
display_errors = Off
log_errors = On
mkdir -p /var/log/php
touch /var/log/php/php_error.log
chown -R apache:apache /var/log/php # Apache
# 或
chown -R nginx:nginx /var/log/php # Nginx + PHP-FPM
systemctl restart httpd
systemctl restart php-fpm
systemctl restart nginx
如果使用 PHP-FPM,一定要检查这个文件:
vim /etc/php-fpm.d/www.conf
找到:
php_admin_value[error_log] = /var/log/php/php_fpm_error.log
php_admin_flag[log_errors] = on
重启 PHP-FPM:
systemctl restart php-fpm
tail -f /var/log/php/php_error.log
或:
tail -f /var/log/php/php_fpm_error.log
location ~ \.php$ {
fastcgi_param PHP_VALUE "log_errors=On";
fastcgi_param PHP_VALUE "error_log=/var/log/php/site_error.log";
}
log_errors = Onphp -i | grep error
log_errors = On
error_log = /var/log/php/php_error.log
error_reporting = E_ALL
如果你愿意,可以告诉我:
我可以给你一套 完全匹配的完整配置示例 ✅