在 Ubuntu 上配置 PHP-FPM 错误日志记录,可以按照以下步骤进行:
首先,确认你安装的 PHP-FPM 版本。Ubuntu 通常会预装 PHP-FPM,但版本可能有所不同。你可以通过以下命令查看 PHP-FPM 的版本:
php-fpm -v
PHP-FPM 的主配置文件通常位于 /etc/php/{version}/fpm/php-fpm.conf,其中 {version} 是你安装的 PHP 版本号。例如,如果你使用的是 PHP 7.4,则配置文件路径为 /etc/php/7.4/fpm/php-fpm.conf。
打开该配置文件:
sudo nano /etc/php/{version}/fpm/php-fpm.conf
找到以下参数并进行配置:
示例配置:
; 设置错误日志文件的位置
error_log = /var/log/php-fpm/{version}-error.log
; 捕获子进程的标准输出和标准错误
catch_workers_output = yes
将 {version} 替换为实际的 PHP 版本号,例如 7.4。
每个 PHP-FPM pool 可能有自己的配置文件,通常位于 /etc/php/{version}/fpm/pool.d/www.conf。
打开该配置文件:
sudo nano /etc/php/{version}/fpm/pool.d/www.conf
找到以下参数并进行配置:
示例配置:
; 设置错误日志文件的位置
error_log = /var/log/php-fpm/{version}-www-error.log
; 设置访问日志文件的位置
access.log = /var/log/php-fpm/{version}-www-access.log
同样,将 {version} 替换为实际的 PHP 版本号。
确保日志文件所在的目录存在,并且 PHP-FPM 进程有权限写入这些文件。
sudo mkdir -p /var/log/php-fpm/{version}
sudo chown www-data:www-data /var/log/php-fpm/{version}
将 {version} 替换为实际的 PHP 版本号。www-data 是 Ubuntu 上默认的 PHP-FPM 用户和组,如果你的设置不同,请相应调整。
应用配置更改后,需要重启 PHP-FPM 服务:
sudo systemctl restart php{version}-fpm
例如,对于 PHP 7.4:
sudo systemctl restart php7.4-fpm
创建一个 PHP 文件(例如 info.php)来测试错误日志记录:
<?php
phpinfo();
将该文件放置在你的 web 服务器根目录下,然后通过浏览器访问 http://your_server_ip/info.php。如果配置正确,你应该能看到 PHP 信息页面。
同时,检查日志文件是否记录了相关信息:
tail -f /var/log/php-fpm/{version}-error.log
tail -f /var/log/php-fpm/{version}-www-error.log
为了防止日志文件过大,可以配置日志轮转。Ubuntu 使用 logrotate 来管理日志文件。
创建或编辑 /etc/logrotate.d/php-fpm 文件:
sudo nano /etc/logrotate.d/php-fpm
添加以下内容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 www-data adm
}
这个配置表示每天轮转一次日志,保留最近 7 天的日志,并对旧日志进行压缩。根据需要调整这些选项。
通过以上步骤,你可以在 Ubuntu 上成功配置 PHP-FPM 的错误日志记录。确保定期检查日志文件,以便及时发现和解决潜在的问题。