從早期的版本到2004 年7 月13 日發布的PHP 5,錯誤報告都是相當簡單的。除了小心編寫程序,也要留意一些特定的PHP 配置項目:
error_reporting
這個項目設定了錯誤報告的等級。不論是開發還是部署環境,強烈建議將這個專案設定為E_ALL。
display_errors
這個項目決定是否將錯誤顯示在螢幕上(包含在輸出中)。應在開發中設定為On,這樣可以在開發時就發現錯誤;應在部署環境中設定為Off,這樣在所有使用者(和潛在攻擊者)面前錯誤將被隱藏。
log_errors
這個專案決定是否將錯誤寫入日誌。雖然這會引起效能損失,但是對於並不經常出現的錯誤這是非常必要的。如果在硬碟上記錄錯誤帶來了巨大的I/O 負荷,比起應用程式的效率來說,這或許應該引起更多的注意。應在部署環境中設定為On。
error_log
這個項目決定了日誌檔案存放的位置和名字。一定要確保web 伺服器對指定檔案擁有權限。
設定error_reporting為E_ALL對於強制初始化變數有幫助,因為使用一個未定義的變數會產生提示(notice)。
注意這些項目的每一個都可以使用ini_set()設置,而不需要存取php.ini或其他操作來設定這些項目。
一個非常好的錯誤處理和報告函數在PHP 手冊中有所介紹:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 包含異常處理。了解更多信息,請查閱: