温馨提示×

php日志在centos如何查看

小樊
48
2025-11-15 19:32:41
栏目: 编程语言

CentOS 上查看 PHP 日志的常用路径与命令

一、常见日志位置与用途

  • PHP-FPM 日志:通常在 /var/log/php-fpm/ 目录下,常见文件有 error.log(FPM 自身错误)和 www.log(进程池请求日志)。
  • Apache 日志:访问日志 /var/log/httpd/access_log,错误日志 /var/log/httpd/error_log
  • Nginx 日志:访问日志 /var/log/nginx/access.log,错误日志 /var/log/nginx/error.log
  • PHP 运行时错误日志:由 php.inierror_log 指定,路径因配置而异;若未显式配置,部分环境会写入系统日志 /var/log/messages/var/log/syslog
    以上路径在不同发行版或安装方式下可能略有差异,请以实际环境为准。

二、快速查看与检索命令

  • 实时查看 FPM 错误日志:sudo tail -f /var/log/php-fpm/error.log
  • 查看 FPM 进程池日志:sudo tail -n 50 /var/log/php-fpm/www.log
  • 查看 Apache 错误日志:sudo tail -f /var/log/httpd/error_log
  • 查看 Nginx 错误日志:sudo tail -f /var/log/nginx/error.log
  • 检索关键字(如“PHP Fatal error”):sudo grep -i "PHP Fatal error" /var/log/php-fpm/error.log
  • 使用 systemd 查看服务日志:sudo journalctl -u php-fpm -f(按时间过滤可加 --since "2025-11-15 10:00:00"
    以上命令覆盖日常排查所需的主流场景。

三、如何确认 error_log 的实际路径

  • 查看 php.inigrep -n "^error_log" /etc/php.iniphp -i | grep error_log(CLI 与 FPM 可能使用不同 php.ini)。
  • 在 Web 环境内确认:创建临时脚本
    <?php
    echo ini_get('error_log');
    phpinfo();
    
  • 若脚本或应用内使用 ini_set('error_log', '/path/to/file.log');,以该路径为准。
  • 若未配置自定义路径,检查系统日志:sudo tail -f /var/log/messagessudo tail -f /var/log/syslog | grep php
    以上方法可快速定位当前生效的错误日志文件。

四、没有日志时的排查与配置建议

  • 确保开启错误记录:在 php.ini 中设置
    error_reporting = E_ALL
    log_errors = On
    display_errors = Off
    error_log = /var/log/php-fpm/error.log
    
    并确保日志目录对 php-fpm 运行用户(常见为 apachenginx)可写。
  • 重启服务生效:sudo systemctl restart php-fpm(如使用 Apache 则 sudo systemctl restart httpd,如用 Nginx 则 sudo systemctl restart nginx)。
  • 再次验证:sudo tail -f /var/log/php-fpm/error.logjournalctl -u php-fpm -f
    上述配置能确保错误被持久化记录,便于排查。

0