php 7.3 开启 php-fpm 慢请求日志需在进程池配置(如 www.conf)中启用 slowlog 和 request_slowlog_timeout,确保日志路径存在且 php-fpm 进程用户有写权限,最后 reload 服务验证。

PHP 7.3 开启 PHP-FPM 慢请求日志,核心是修改进程池配置(通常是 www.conf),启用两个关键参数并确保日志路径可写。操作不复杂,但路径、权限和重启步骤容易出错。
找到并编辑正确的进程池配置文件
PHP-FPM 的慢日志配置必须在进程池段(如 [www])中设置,不是全局 php-fpm.conf。常见位置有:
-
/etc/php/7.3/fpm/pool.d/www.conf(Debian/Ubuntu 默认) -
/etc/php-fpm.d/www.conf(CentOS/RHEL 默认) - 若使用自定义编译安装,路径可能为
/usr/local/php/etc/php-fpm.d/www.conf
用 ps aux | grep php-fpm 或 php-fpm -t 配合 strace 可确认实际加载的配置路径。
启用 slowlog 和 request_slowlog_timeout
在 www.conf 的 [www] 段内,取消注释并设置以下两项:
-
slowlog = /var/log/php-fpm/www-slow.log(建议用绝对路径,避免相对路径歧义) -
request_slowlog_timeout = 1s(单位必须带s;设为0s表示关闭)
注意:两者必须同时启用,否则配置校验会失败(php-fpm -t 报错)。slowlog 是强制项,只要 request_slowlog_timeout 非零就必须指定。
创建日志目录并授权
PHP-FPM 工作进程(通常是 www-data 或 apache 或 nginx 用户)需对日志路径有写权限:
- 执行:
sudo mkdir -p /var/log/php-fpm - 赋权:
sudo chown www-data:www-data /var/log/php-fpm(Ubuntu/Debian)或sudo chown nginx:nginx /var/log/php-fpm(CentOS + Nginx) - 验证:
sudo -u www-data touch /var/log/php-fpm/test.log && sudo rm /var/log/php-fpm/test.log
重载配置并验证生效
配置保存后,不要直接 restart,推荐 reload:
-
sudo systemctl reload php7.3-fpm(Ubuntu/Debian) -
sudo systemctl reload php-fpm(CentOS/RHEL) - 或用信号:
sudo kill -USR2 $(cat /run/php/php7.3-fpm.pid)
然后访问一个故意加延迟的脚本(如 <?php sleep(2); ?>),再检查日志:sudo tail -f /var/log/php-fpm/www-slow.log。看到类似 executing too slow (2.012345 sec), logging 即表示成功。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











