温馨提示×

Linux下php-fpm日志如何查看

小樊
42
2025-10-03 17:35:44
栏目: 编程语言

Linux下查看PHP-FPM日志的方法

1. 定位PHP-FPM日志文件路径

PHP-FPM的日志路径由配置文件中的error_log(错误日志)和access_log(访问日志)参数决定,默认路径因发行版和配置而异:

  • 常见默认路径
    • 错误日志:/var/log/php-fpm/error.log/var/log/php-fpm/www-error.log
    • 访问日志:/var/log/php-fpm/access.log/var/log/php-fpm/www.access.log
  • 通过配置文件查找
    编辑PHP-FPM主配置文件(通常为/etc/php-fpm.conf/etc/php-fpm.d/www.conf),查找error_logaccess_log指令,确认实际路径。例如:
    cat /etc/php-fpm.d/www.conf | grep "error_log\|access_log"
    
  • 系统日志替代
    若未单独配置,日志可能写入系统日志(如Ubuntu的/var/log/syslog、CentOS的/var/log/messages),可通过grep过滤:
    grep "php-fpm" /var/log/syslog
    

2. 使用命令行工具查看日志

  • 实时查看最新日志
    使用tail -f命令跟踪日志文件的实时更新(适用于错误排查):
    sudo tail -f /var/log/php-fpm/error.log
    
  • 分页查看完整日志
    使用lessmore命令逐页查看日志(适合分析历史记录):
    sudo less /var/log/php-fpm/error.log
    
  • 搜索特定关键词
    使用grep命令过滤日志中的关键信息(如错误类型、IP地址):
    sudo grep "fatal error" /var/log/php-fpm/error.log  # 搜索致命错误
    sudo grep "192.168.1.1" /var/log/php-fpm/access.log  # 搜索特定IP的访问记录
    

3. 常见日志类型及作用

  • 错误日志(error.log)
    记录PHP-FPM运行时的错误信息(如语法错误、进程崩溃、权限问题),是排查故障的核心日志。
  • 访问日志(access.log)
    记录所有PHP请求的详细信息(如请求时间、URI、响应状态码、执行时间),用于分析流量和性能。
  • 慢日志(slow.log,需开启)
    记录执行时间超过slowlog_threshold阈值(默认10秒)的脚本,帮助优化慢查询。

4. 日志权限与注意事项

  • 权限问题
    日志文件通常属于rootwww-data用户,普通用户需用sudo提升权限才能查看:
    sudo cat /var/log/php-fpm/error.log
    
  • 日志轮换
    为避免日志文件过大,建议配置logrotate自动轮换(如每天归档、保留7天、压缩旧日志)。示例配置(保存到/etc/logrotate.d/php-fpm):
    /var/log/php-fpm/error.log {
        daily
        missingok
        rotate 7
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
    }
    
    执行sudo logrotate -f /etc/logrotate.d/php-fpm可手动触发轮换。

通过以上步骤,可快速定位并查看PHP-FPM日志,有效排查故障或分析性能问题。

0