发布于2026-07-16 阅读(0)
扫一扫,手机访问
处理 PHP 应用时,日志定位往往是排查问题的第一步。CentOS 上 PHP-FPM 的日志怎么找、怎么看、怎么用,这份指南里基本都涵盖了。

常见的日志路径和用途大概有这些,不过具体还得看安装方式和发行版,会有一些细微差别:
access.log 配置已开启。slowlog 和 request_slowlog_timeout。mod_php,PHP 错误会跑到 /var/log/httpd/error_log 里;如果是 PHP-FPM + Nginx,那 Nginx 的错误日志也得留意,通常在 /var/log/nginx/error.log。php --ini 找到 php.ini,查一下 error_log 配置项就行。或者直接用 journalctl -u php-fpm 看 systemd 日志。tail -f /var/log/php-fpm/error.log 就能搞定。grep -i “error|warning|fatal” /var/log/php-fpm/error.log。awk ‘/2025-12-05 10:00:*/,/2025-12-05 11:00:*/’ /var/log/php-fpm/error.log | grep -i error | wc -lawk ‘$4 > 5 {print}’ /var/log/php-fpm/slowlog.loggrep -oP ‘POST \K[^ ]+’ /var/log/php-fpm/access.logawk ‘{print $7}’ /var/log/php-fpm/access.log | cut -d’/’ -f3 | sort | uniq -c | sort -nrjournalctl -u php-fpm -f有一点要提醒:命令里的字段索引和分隔符都跟你实际的 access.log 格式挂钩,最好先用 head 看看样本行再调参数。
systemctl status/restart php-fpm 检查状态,再核对 listen = 127.0.0.1:9000 与 Nginx/Apache 的 FastCGI 配置是否一致。request_terminate_timeout 或 pool 的 request_timeout,同时适当提升 pm.max_children,并对慢脚本做优化。SCRIPT_FILENAME。确保 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 配置正确,且 root 路径指向无误。pm.max_children,或者改用 dynamic/ondemand 模式,同时优化应用本身。memory_limit,但别忘了从代码和查询入手优化。user/group 和目录权限,必要时设置 listen.owner/listen.group。php-fpm -t 校验配置,再查端口占用和日志细节。在 php.ini 里开启:error_reporting = E_ALL、log_errors = On,并设置 error_log。生产环境建议 display_errors = Off,防止信息泄露。
在 www.conf(或对应 pool)中开启:slowlog = /var/log/php-fpm/slowlog.log、request_slowlog_timeout = 5(单位秒,可按业务调整)。
修改配置后执行 systemctl restart php-fpm。日常用 tail -f、grep、awk 或 journalctl -u php-fpm 持续观察。
用 logrotate 对 php-fpm.log、error.log、slowlog.log 做按日切割并设定保留策略,避免磁盘被日志打满。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8