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