從早期的版本到 2004 年 7 月 13 日發(fā)布的 php 5,錯誤報告都是相當簡單的。除了小心編寫程序,還要留意一些特定的 PHP 配置項目:
error_reporting
這個項目設置了錯誤報告的等級。不論是開發(fā)還是部署環(huán)境,強烈建議將這個項目設置為E_ALL。
display_errors
這個項目決定是否將錯誤顯示在屏幕上(包含在輸出中)。應當在開發(fā)中設置為On,這樣可以在開發(fā)時就發(fā)現錯誤;應當在部署環(huán)境中設置為Off,這樣在所有用戶(和潛在攻擊者)面前錯誤將被隱藏。
log_errors
這個項目決定是否將錯誤寫入日志。雖然這會引起性能損失,但是對于并不經常出現的錯誤這是非常必要的。如果在硬盤上記錄錯誤帶來了巨大的 I/O 負荷,比起應用程序的效率來說,這或許應當引起更多的注意。應當在部署環(huán)境中設置為On。
error_log
這個項目決定了日志文件存放的位置和名字。一定要確保 web 服務器對指定文件擁有權限。
設置error_reporting為E_ALL對于強制初始化變量有幫助,因為使用一個未定義的變量會產生提示(notice)。
這些項目的每一個都可以使用ini_set()設置,而不需要訪問php.ini或者其他操作設置這些項目。
一個非常好的錯誤處理和報告函數在 PHP 手冊中有所介紹:
https://www.php.net/manual/en/ref.errorfunc.php
PHP 5 包含異常處理。了解更多信息,請查閱:
https://www.php.net/manual/language.exceptions.php
關鍵詞標簽:PHP安全,錯誤報告
相關閱讀
熱門文章 plsql developer怎么連接數據庫-plsql deve2021年最好用的10款php開發(fā)工具推薦在 PHP 中使用命令行工具php應用程序安全防范技術研究
人氣排行 詳解ucenter原理及第三方應用程序整合思路、方法PHP中防止SQL注入攻擊PHP會話Session的具體使用方法解析PHP運行出現Notice : Use of undefined constant 的解決辦法CakePHP程序員必須知道的21條技巧PHP如何清空mySQL數據庫PHP采集圖片實例(PHP采集)plsql developer怎么連接數據庫-plsql developer連接數據庫方法