在Ubuntu中,分析PHP-FPM错误日志可以通过以下步骤进行:
/var/log/php-fpm.log
或 /var/log/php{version}-fpm.log
(其中 {version}
是PHP的版本号)。使用 nano
、vim
或其他文本编辑器打开日志文件,例如:
sudo nano /var/log/php-fpm.log
错误消息:每条错误消息都包含时间戳、错误类型、错误消息和堆栈跟踪。例如:
[01-Sep-2023 12:34:56] PHP Fatal error: Uncaught Error: Call to undefined function foo() in /var/www/my_script.php:12
Stack trace:
#0 /var/www/my_script.php(12): foo()
#1 {main}
查找错误原因:根据错误消息和堆栈跟踪确定导致错误的原因。例如,上面的错误是由于调用了一个未定义的函数 foo()
引起的。
使用 tail -f
命令实时查看日志文件的更新情况:
sudo tail -f /var/log/php-fpm.log
使用 grep
命令筛选出特定类型的日志消息,例如查找错误消息:
grep error /var/log/php-fpm.log
如果需要,可以在PHP-FPM的配置文件 /etc/php/{version}/fpm/pool.d/www.conf
中修改日志记录级别和路径。例如,将错误日志级别设置为 alert
:
catch_workers_output yes
php_admin_value[error_log] /var/log/php-fpm/custom_error.log
php_admin_flag[log_errors] on
php_admin_value[error_reporting] E_ALL & E_DEPRECATED & E_STRICT
修改配置文件后,重启PHP-FPM服务以应用更改:
sudo systemctl restart php{version}-fpm