在 CentOS 上排查 PHP 日志,通常分 PHP 自身错误日志、Web 服务器(Nginx/Apache)日志、以及 应用层日志 三部分。下面按实战步骤说明。
php --ini
# 或
php -i | grep "Loaded Configuration File"
常见路径:
/etc/php.ini/etc/php.d/*.ini查看关键配置:
grep -E "error_log|log_errors|display_errors" /etc/php.ini
示例:
log_errors = On
error_log = /var/log/php/php_errors.log
display_errors = Off
如果
error_log没设置,PHP 会写入 Web 服务器错误日志。
/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
查看:
tail -f /var/log/php-fpm/www-error.log
Nginx 错误日志:
/var/log/nginx/error.log
访问日志:
/var/log/nginx/access.log
/var/log/httpd/error_log
/var/log/httpd/access_log
tail -f /var/log/php-fpm/www-error.log
tail -f /var/log/nginx/error.log
grep -i "error" /var/log/php-fpm/www-error.log
grep -i "Fatal" /var/log/nginx/error.log
ls -ld /var/log/php
修复:
mkdir -p /var/log/php
chown -R www-data:www-data /var/log/php
# 或 php-fpm 用户(如 apache / nginx)
查看是否拦截:
getenforce
ausearch -m avc -ts recent
临时测试:
setenforce 0
永久解决需配置 SELinux 策略或目录上下文。
在 php.ini 或代码中:
display_errors = On
error_reporting = E_ALL
或在 PHP 文件顶部:
ini_set('display_errors', 1);
error_reporting(E_ALL);
storage/logs/laravel.logruntime/log/如果你能告诉我:
我可以帮你精准定位。