在 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 的錯誤日志記錄。確保定期檢查日志文件,以便及時發現和解決潛在的問題。