在 CentOS 上开启 PHP 的慢查询日志,你需要修改 PHP-FPM 或 Apache 的配置文件。这里我将分别为 PHP-FPM 和 Apache 提供步骤。
对于 PHP-FPM:
打开 PHP-FPM 配置文件。通常位于 /etc/php-fpm.d/www.conf 或 /etc/php-fpm.conf。使用文本编辑器打开,例如:
sudo vi /etc/php-fpm.d/www.conf
在配置文件中找到以下行:
;slowlog = /var/log/php-fpm/www-slow.log
将分号(;)删除以取消注释,并设置慢查询日志文件的路径。例如:
slowlog = /var/log/php-fpm/www-slow.log
设置慢查询的时间阈值。在配置文件中找到以下行:
;request_slowlog_timeout = 0
取消注释并设置一个合适的时间值(以秒为单位)。例如,设置为 10 秒:
request_slowlog_timeout = 10
保存并关闭配置文件。
重启 PHP-FPM 服务以应用更改:
sudo systemctl restart php-fpm
现在,PHP-FPM 将开始记录慢查询日志。
对于 Apache:
打开 Apache 配置文件。通常位于 /etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf。使用文本编辑器打开,例如:
sudo vi /etc/httpd/conf/httpd.conf
在配置文件中找到以下行:
#CustomLog "logs/access_log" combined
取消注释并添加 slowquerylog 参数以及慢查询日志文件的路径。例如:
CustomLog "logs/access_log" combined env=slowquery
在配置文件末尾添加以下内容以定义慢查询日志的相关设置:
SetEnvIf Request_URI "\?query_string" slowquery
LogLevel alert slowquery:info
这里,我们使用 SetEnvIf 指令将包含查询字符串的请求标记为慢查询。LogLevel 指令设置慢查询日志的级别。
保存并关闭配置文件。
重启 Apache 服务以应用更改:
sudo systemctl restart httpd
现在,Apache 将开始记录慢查询日志。请注意,这些步骤可能因 CentOS 版本和 PHP 版本而异。如有需要,请根据实际情况进行调整。