Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu 14.04 PHP 錯誤顯示完整配置指南:兩種模式任選

編輯:關於 Linux

Ubuntu 14.04 預設關閉 PHP 錯誤顯示,開發時極不方便。本文提供「精簡版」與「詳細版」兩套配置方案,涵蓋 php.ini、Apache 設定與服務重啟全流程。

精簡版(三步完成)

# 1. 編輯 php.ini
sudo gedit /etc/php5/apache2/php.ini

# 修改兩處:
display_errors = On
error_reporting = E_ALL | E_STRICT

# 2. 重啟 Apache
sudo /etc/init.d/apache2 restart

詳細版(逐步說明)

1. 修改 php.ini 核心參數

# 開啟錯誤顯示
display_errors = On

# 錯誤報告等級:報告所有錯誤包含嚴格標準
error_reporting = E_ALL | E_STRICT

# 常見舊設定(需覆蓋):
# error_reporting = E_ALL & ~E_NOTICE
# error_reporting = E_ALL & ~E_DEPRECATED

2. Apache 層面補強(/etc/apache2/httpd.conf)

php_flag display_errors on
php_value error_reporting 2039  # 2039 = E_ALL | E_STRICT 數值

註:Ubuntu 14.04 httpd.conf 預設為空檔,直接新增即可。

3. 重啟服務生效

sudo /etc/init.d/apache2 restart
# 或
sudo service apache2 restart

驗證測試

建立 /var/www/html/test.php:

<?php
echo $undefined_var;  // 觸發 Notice
trigger_error("測試錯誤", E_USER_WARNING);
?>

瀏覽器訪問應顯示:

Notice: Undefined variable: undefined_var in /var/www/html/test.php on line 2
Warning: 測試錯誤 in /var/www/html/test.php on line 3

常見問題排查

現象原因解決
修改後仍不顯示編輯錯誤的 php.iniphp --ini 確認載入路徑
只顯示部份錯誤error_reporting 等級不足確認 E_ALL | E_STRICT
白屏無輸出語法錯誤導致編譯失敗檢查 /var/log/apache2/error.log

生產環境建議

  • 關閉 display_errors,改用 log_errors = On + error_log
  • 設定 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
  • 配置自訂錯誤頁面,避免洩露堆疊資訊

依專案階段選擇適當模式,開發期全開、生產期記錄日誌,兼顧效率與安全。

Copyright © Windows教程網 All Rights Reserved