在 CentOS 上定位 PHP 日志,通常分三种情况:PHP 自身错误日志、Web 服务器(Nginx/Apache)日志、以及应用框架日志。下面按最常见场景说明。
php --ini
常见路径:
/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_error.log
如果 error_log 为空,PHP 会交给 Web 服务器处理。
grep "error_log" /etc/php-fpm.conf
一般位置:
/var/log/php-fpm/error.log
查看:
tail -f /var/log/php-fpm/error.log
grep -E "catch_workers_output|error_log" /etc/php-fpm.d/www.conf
如果 catch_workers_output = yes,PHP 错误会进 FPM 日志。
grep "error_log" /etc/nginx/nginx.conf
常见路径:
/var/log/nginx/error.log
查看:
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
tail -f /var/log/httpd/error_log
tail -f /var/log/httpd/access_log
tail -f /var/log/php-fpm/error.log
tail -f /var/log/nginx/error.log
grep -i "php" /var/log/nginx/error.log
grep -i "fatal" /var/log/php-fpm/error.log
php -l file.php # 语法检查
php file.php # 命令行执行看错误
log_errors = Onls -l /var/log/php/
systemctl restart php-fpm
systemctl restart nginx
| 场景 | 日志位置 |
|---|---|
| PHP-FPM | /var/log/php-fpm/error.log |
| Nginx | /var/log/nginx/error.log |
| Apache | /var/log/httpd/error_log |
| PHP 配置 | php.ini → error_log |
如果你愿意,可以告诉我:
我可以给你精确的一条命令定位方案。