php-fpm在centos上的日志在哪
CentOS上PHP-FPM日志默认在/var/log/php-fpm/,含error.log与access.log。可用tail-f实时查看,或通过journalctl-uphp-fpm获取详细上下文。若未生成,需检查池配置、php.ini及目录权限。注意与Nginx或Apache日志区分。
php-fpm 在 CentOS 的日志位置与查看方法

CentOS 上跑 PHP-FPM,想查个日志,说难不难,说简单也得知道门道。先摸清楚默认路径,再看怎么快速定位问题,最后留几个排查兜底的办法——这篇文章把流程捋一遍。
默认日志路径
大部分情况下,日志文件都集中在 /var/log/php-fpm/ 这个目录下。常见文件包括:
- error.log:记录进程错误与启动信息,最常用。
- access.log:访问日志,需要显式开启才会生成。
- 按池命名的日志,比如
www.log或www-error.log。部分安装或配置中,错误日志会放在/run/php-fpm/下,例如/run/php-fpm/www-error.log,路径不唯一,看具体版本。
如何快速查看
实时追踪问题,几个命令足够:
- 主错误日志:
sudo tail -f /var/log/php-fpm/error.log - 访问日志(如果启用):
sudo tail -f /var/log/php-fpm/access.log - 按池查看(比如 www 池):
sudo tail -f /var/log/php-fpm/www.log - 用 systemd 看主服务日志:
sudo journalctl -u php-fpm,特别适合排查启动失败、崩溃这类疑难杂症。
实际排查时,journalctl 往往能给出比文件日志更详细的上下文,建议优先用。
如果找不到日志的排查步骤
有时明明配置了,日志就是没生成。一步步查:
首先检查池配置文件,位置通常在 /etc/php-fpm.d/www.conf,确认以下指令:
error_log = /var/log/php-fpm/error.logaccess.log = /var/log/php-fpm/access.log(按需开启,默认不写)
接着查 php.ini 里的 error_log 设置——它管的是脚本级错误日志,与 PHP-FPM 进程日志是两码事。先找 php.ini 位置:php --ini,再检查 log_errors = On 和 error_log = /var/log/php-fpm/error.log。
修改配置后记得重启服务:sudo systemctl restart php-fpm。如果还是没有日志,确认目录是否存在、PHP-FPM 运行用户是否有写权限——/var/log/php-fpm/ 目录的权限和属主经常被忽略。
与 Web 服务器日志的区分
一个常见误区:把 Nginx 或 Apache 的日志当成 PHP-FPM 的日志。这两者完全不同,定位问题要分清:
- Apache:访问日志
/var/log/httpd/access_log,错误日志/var/log/httpd/error_log - Nginx:访问日志
/var/log/nginx/access.log,错误日志/var/log/nginx/error.log
如果想排查 PHP-FPM 自身的问题,比如进程挂掉、慢超时、连接数打满,优先看 PHP-FPM 的 error.log,配合 journalctl -u php-fpm 往往能一举定位。Web 服务器的日志虽然是排查入口,但顶多告诉你“后端返回 502”,具体原因还得回到 PHP-FPM 这边来查。


































