在 Ubuntu 上,PHP-FPM 的**慢日志(slow log)**是通过 php-fpm.conf 或 pool 配置文件开启的。下面一步一步说明。
通常路径如下(以 PHP 8.1 为例,根据你的版本调整):
# 主配置
/etc/php/8.1/fpm/php-fpm.conf
# pool 配置(常用)
/etc/php/8.1/fpm/pool.d/www.conf
慢日志一般在 pool 配置 里设置(如
www.conf)
编辑 pool 配置文件:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
找到或添加以下配置:
; 请求执行超过该时间(秒)就记录慢日志
request_slowlog_timeout = 2s
; 慢日志文件路径
slowlog = /var/log/php8.1-fpm/slow.log
说明:
2s:脚本执行超过 2 秒就记录1s、0.5s 等sudo mkdir -p /var/log/php8.1-fpm
sudo chown -R www-data:adm /var/log/php8.1-fpm
sudo systemctl restart php8.1-fpm
<?php
sleep(5);
访问该脚本
查看日志:
tail -f /var/log/php8.1-fpm/slow.log
示例输出:
[xx-xx-xx xx:xx:xx] [pool www] pid 12345
script_filename = /var/www/html/test.php
[0x0000xxxx] sleep() /var/www/html/test.php:2
request_slowlog_timeout 已启用(去掉前面的 ;)可以临时改成:
request_slowlog_timeout = 1s
如果你告诉我:
我可以给你更精确的配置示例。