在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