首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 錯誤顯示開關完整配置指南(Windows/Linux 通用)

     編輯:PHP 相關知識

核心原則:代碼級控制優於配置文件

無論作業系統,最靈活的方式是在 PHP 代碼入口處直接設置,不依賴 php.ini 權限:

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

Windows 環境配置

1. 修改 php.ini(需管理員權限)

display_errors = On  ; 開啟顯示
display_errors = Off ; 關閉顯示

注意: 若已將 php.ini 複製至 Windows 系統目錄,必須同步修改 C:\Windows\php.ini,否則不生效。

2. 解決 display_errors = Off 失效問題

檢查是否有多處 php.ini、Apache 配置覆蓋、或代碼中調用 error_reporting(0) 導致屏蔽。

Linux 環境配置(以 Ubuntu + Apache2 為例)

  1. 編輯 PHP 配置: /etc/php5/apache2/php.ini
    display_errors = On
    error_reporting = E_ALL | E_STRICT
  2. 編輯 Apache 配置: /etc/apache2/httpd.conf(若為空文件則新增)
    php_flag display_errors on
    php_value error_reporting 2039
  3. 重啟 Apache 生效:
    sudo /etc/init.d/apache2 restart

常見坑點排查

  • 配置文件路徑錯誤: 用 phpinfo() 查看 Loaded Configuration File 確認實際生效的 php.ini。
  • 代碼中硬編碼關閉: 搜索專案中的 error_reporting(0) 並註釋掉。
  • 權限問題: 確保 Web 服務器進程對日誌目錄有寫入權限。

最佳實踐建議

  • 開發環境: 全開 E_ALL | E_STRICT,盡早暴露問題。
  • 生產環境: display_errors = Off,配合 log_errors = On 寫入日誌文件,定期分析。
  • 框架項目: 遵循框架自身的錯誤處理機制(如 Laravel 的 APP_DEBUG、ThinkPHP 的 APP_DEBUG)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved