在CentOS系统中,PHP日志的位置取决于Web服务器类型(Apache/Nginx)及是否使用PHP-FPM,常见路径如下:
/var/log/php-fpm/ 目录下(如 error.log、www.log,具体文件名因发行版而异);/var/log/httpd/ 目录下(error_log 为PHP错误日志,access_log 为访问日志);/var/log/nginx/error.log,PHP脚本日志仍由PHP-FPM记录(/var/log/php-fpm/error.log)。使用 tail -f 命令可实时跟踪日志文件的新增内容,便于快速定位实时问题:
# 查看PHP-FPM错误日志(最常用)
sudo tail -f /var/log/php-fpm/error.log
# 查看Apache的PHP错误日志
sudo tail -f /var/log/httpd/error_log
# 查看Nginx的PHP错误日志
sudo tail -f /var/log/nginx/error.log
使用 cat 或 less 命令查看日志文件的完整内容(适合一次性查看全部历史日志):
# 查看PHP-FPM日志(完整内容)
sudo cat /var/log/php-fpm/error.log
# 使用less分页查看(支持上下翻页、搜索)
sudo less /var/log/php-fpm/error.log
# 在less中按“/keyword”可搜索关键词(如“error”),按“q”退出
使用 grep 命令过滤日志中的关键词(如“PHP错误”“MySQL连接失败”),快速定位问题:
# 在Apache错误日志中搜索“PHP”相关错误
sudo grep "PHP" /var/log/httpd/error_log
# 在Nginx错误日志中搜索“MySQL”相关错误
sudo grep "MySQL" /var/log/nginx/error.log
# 在PHP-FPM日志中搜索“warning”级别错误
sudo grep "warning" /var/log/php-fpm/error.log
若系统使用 systemd 管理PHP-FPM服务(默认情况),可通过 journalctl 命令查看服务关联的日志,支持按时间、服务名过滤:
# 查看PHP-FPM服务的所有日志
sudo journalctl -u php-fpm
# 查看PHP-FPM近1小时的日志
sudo journalctl -u php-fpm --since "1 hour ago"
# 实时跟踪PHP-FPM服务日志
sudo journalctl -u php-fpm -f
root 用户,需使用 sudo 提升权限才能查看;# 查看php.ini中配置的error_log路径
php -i | grep "error_log"
error.log.1、error.log.2.gz),可使用 zcat 查看压缩日志:zcat /var/log/php-fpm/error.log.1.gz