ubuntu 中 php-fpm 日志位置与查看方法
常见默认路径
- 按版本的单文件日志:/var/log/php**{版本}-fpm.log(例如:/var/log/php7.4-fpm.log**、/var/log/php8.1-fpm.log)。
- 按池的目录日志:/var/log/php-fpm/{pool}.log,常见为 /var/log/php-fpm/www.log;部分安装还会在该目录下生成 access.log 与 error.log。
- 发行版或安装方式差异:有的环境使用集中式日志文件(如仅 /var/log/php-fpm.log),有的使用带版本号或按池的目录结构。以上路径均为 ubuntu 常见做法,实际以本机配置为准。
最快定位方法
- 查看服务状态中的日志输出(能直接看到实际使用的日志路径)
- 命令:sudo systemctl status php**{版本}**-fpm(如:php7.4-fpm、php8.1-fpm)
- 直接检索常见日志文件
- 命令:sudo grep -R “error_log|access.log” /etc/php /var/log 2>/dev/null
- 在 fpm 配置中确认(以 www 池为例)
- 命令:grep -E “^(error_log|access.log|php_admin_value[error_log])” /etc/php/{版本}/fpm/pool.d/www.conf
如何确认与修改日志路径
- 打开对应版本的 fpm 池配置(常见为:/etc/php/{版本}/fpm/pool.d/www.conf),检查以下指令:
- error_log = /var/log/php-fpm/www.log
- access.log = /var/log/php-fpm/access.log
- 若需自定义路径,修改后重启服务:
- 命令:sudo systemctl restart php**{版本}**-fpm
- 注意:确保日志目录与文件对 www-data(或相应运行用户)具备写权限。
与 web 服务器日志的区分
- 使用 nginx 时,php-fpm 自身的错误通常写入上述 fpm 日志;而 502/504 等网关错误以及访问记录多在 /var/log/nginx/error.log 与 /var/log/nginx/access.log。
- 使用 apache 时,若以模块方式运行,php 错误可能进入 /var/log/apache2/error.log;以 fpm 方式运行时,仍以 fpm 日志为准。