在 CentOS 上查找 PHP 日志,主要取决于你使用的 PHP 运行方式(PHP-FPM / Apache + mod_php / CLI) 以及配置。下面按常见情况给你一个完整排查指南。
php -v
php -m
查看是否使用 PHP-FPM:
ps -ef | grep php-fpm
或:
systemctl status php-fpm
默认位置(取决于版本):
/var/log/php-fpm/error.log
或:
/var/log/php-fpm/www-error.log
如果你不确定版本:
ls /var/log/php-fpm/
php-fpm -i | grep error_log
或查看配置文件:
grep -R "error_log" /etc/php-fpm.conf /etc/php-fpm.d/
示例配置:
error_log = /var/log/php-fpm/error.log
查看 php.ini 路径:
php --ini
或:
php -i | grep "Loaded Configuration File"
然后查看:
grep error_log /etc/php.ini
示例:
error_log = /var/log/php_error.log
log_errors = On
tail -f /var/log/php_error.log
如果没有文件,说明 log_errors 可能是 Off。
/var/log/nginx/error.log
/var/log/nginx/access.log
tail -f /var/log/nginx/error.log
/var/log/httpd/error_log
/var/log/httpd/access_log
查看 PHP 错误:
tail -f /var/log/httpd/error_log
CLI 模式下通常不会自动写日志,错误直接输出到终端。
查看 CLI 的 php.ini:
php -i | grep "Loaded Configuration File"
find /var/log -name "*php*"
tail -f /var/log/php-fpm/error.log
journalctl -xe | grep php
检查:
display_errors = Off
log_errors = On
error_reporting = E_ALL
手动创建并设置权限:
touch /var/log/php_error.log
chown apache:apache /var/log/php_error.log
chmod 644 /var/log/php_error.log
(用户可能是 nginx、www-data、php-fpm)
| 场景 | 日志位置 |
|---|---|
| PHP-FPM | /var/log/php-fpm/error.log |
| PHP 脚本错误 | php.ini 中 error_log |
| Nginx | /var/log/nginx/error.log |
| Apache | /var/log/httpd/error_log |
| CLI | 终端输出 |
如果你愿意,可以告诉我:
我可以 直接帮你定位到准确的日志路径。