PHP日志的位置取決于服務器配置(Apache/Nginx/PHP-FPM)及php.ini中的設置,常見路徑如下:
/var/log/php-fpm.log(錯誤日志)、/var/log/php-fpm/access.log(訪問日志);/var/log/apache2/error.log(Apache錯誤日志會包含PHP錯誤);/var/log/nginx/error.log(Nginx錯誤日志)或/var/log/php-fpm.log(若使用PHP-FPM);php.ini中配置了error_log指令(如error_log = /var/log/php_errors.log),則需查看指定路徑。tail命令實時查看tail -f命令可實時監控日志文件的新增內容,適合快速排查正在發生的錯誤。常用格式:
# 查看PHP-FPM錯誤日志
sudo tail -f /var/log/php-fpm.log
# 查看Apache錯誤日志
sudo tail -f /var/log/apache2/error.log
# 查看Nginx錯誤日志
sudo tail -f /var/log/nginx/error.log
# 查看自定義日志(需替換為實際路徑)
sudo tail -f /var/log/php_errors.log
按Ctrl+C可停止實時監控。
若需查看日志的全部歷史內容,可使用nano或less等編輯器(需管理員權限):
# 使用nano查看PHP-FPM日志
sudo nano /var/log/php-fpm.log
# 使用less查看Apache錯誤日志(支持翻頁)
sudo less /var/log/apache2/error.log
在less中,按空格鍵向下翻頁,按b鍵向上翻頁,按q鍵退出。
phpinfo()確認日志路徑若不確定日志位置,可創建一個PHP文件(如info.php),內容為<?php phpinfo(); ?>,將其放置在Web根目錄(如/var/www/html),然后通過瀏覽器訪問該文件。在輸出的頁面中搜索“error_log”,即可找到當前PHP配置的錯誤日志路徑。
若提示“Permission denied”,需使用sudo提升權限,或用ls -l檢查日志文件的所屬用戶(通常為www-data),并通過chown修改權限:
# 修改日志文件所屬用戶為www-data
sudo chown www-data:www-data /var/log/php_errors.log
# 授權當前用戶讀取權限
sudo chmod 644 /var/log/php_errors.log
若指定的自定義日志路徑不存在,需手動創建并設置權限:
# 創建日志文件
sudo touch /var/log/php_errors.log
# 設置所屬用戶和權限
sudo chown www-data:www-data /var/log/php_errors.log
sudo chmod 644 /var/log/php_errors.log
同時需確保php.ini中log_errors = On(開啟日志記錄)且error_log路徑正確。
通過以上方法,可快速定位并查看Ubuntu下PHP的配置日志,幫助排查PHP運行中的錯誤。