PHP ?? ?? ?? ?? ??
?? ??? ??
?? ??
PHP? ?? ???? ?? ?? ??????, ? ?? ???? ? ??? ???.
[??? ?? ?? ??] ?? ????? ???? ??? ? ?? ???? ????.
錯誤類型 | 說明 |
---|---|
E_ERROR | 錯誤,文件直接中斷 |
E_WARNING | 警告,問題比較嚴重。但是還會繼續(xù)向下運行 |
E_NOTICE | 提示,有些小問題不會影響到程序。常發(fā)生在項目未定義 |
E_PARSE | 編譯時語法解析錯誤。解析錯誤僅僅由分析器產生。 |
E_ALL | 所有的錯誤 |
E_STRICT | 啟用PHP對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 |
E_DEPRECATED | 啟用后將會對在未來版本中可能無法正常工作的代碼給出警告。 |
? ?? ?
??? ?? ????? ???? ???. ??? ??? ????? ?? ??? ? ????.
??? ?? ?????. ?(Tong)? ???? ??. ???? ???? ???? ?? ?? ??? ????.
?? ??? ????? ???. ??? ?? ????? ???? ??? ?? ????. ?? ?? ?? ?? ?? ??? ?? ??????? ????? ???. ??? PHP? ?? ???? ??? ??? ?????. ????? ??? ???? ?? ?? ?? ?????.
?? ??? ?? ?? ? ??? ???? ?? ???? ???.
?? ??? ??? ?? ?????
[?? ?? ?? ??] ? ? ?? ?? ??? ???? ? ? ?? ?? ?? ??? ????.
錯誤類型 | 錯誤說明 |
---|---|
E_CORE_ERROR | 在PHP初始化啟動過程中發(fā)生的致命錯誤。該錯誤類似E_ERROR,但是是由PHP引擎核心產生的 |
E_CORE_WARNING | PHP初始化啟動過程中發(fā)生的警告 (非致命錯誤) 。類似 E_WARNING,但是是由PHP引擎核心產生的。 |
E_COMPILE_ERROR | 致命編譯時錯誤。類似E_ERROR,但是是由Zend腳本引擎產生的。 |
E_COMPILE_WARNING | 編譯時警告(非致命錯誤)。類似E_WARNING,但是是由Zend腳本引擎產生的 |
E_USER_ERROR | 用戶自定義錯誤 |
E_USER_WARNING | 用戶自定義警告 |
E_USER_NOTICE | 用戶自定義提示 |
E_USER_DEPRECATED | 用戶產少的警告信息。類似E_DEPRECATED,但是是由用戶自己在代碼中使用PHP函數trigger_error()來產生的。 |
E_RECOVERABLE_ERROR | 可被捕捉的致命錯誤。它表示發(fā)生了一個可能非常危險的錯誤,但是還沒有導致PHP引擎處于不穩(wěn)定的狀態(tài)。 |
?? ????? ?? ??? ???? ???. ????? ???? ?? ??? ???? ? ??? ???? ???? ??? ? ????.
error_reporting ?? ?? ??
error_reporting? ?? ??? ?????. php.ini?? ??? ????? ????. ? ????. PHP ??? ??, ?? ? ???? ?? ??? ?????.
1. php.ini?? error_reporting ????? ?????. error_reporting ????? 0?? ??? ??. ?? PHP ??? ??? ??, ?? ?? ???? ????. ?? ??? ??? ???? ???? ????.
?? ??? ????? ??? ?? ??? ? ????. :
error_reporting = E_ALL
?? ??? ???? ????? ?? ?????? ? ????? ??? ?? ??? ? ????.
error_reporting = E_ALL & ~ E_NOTICE
?? ??? ????? ??, ??? ? ?? ???? ?????. ??? ?? ? ? ????:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
2. ?? ???? php.ini? ??? ??? ????. ??? ???? ??? error_reporting? ??? ?? ????
?? ?? xxxx.php ?? ?? ???? error_reporting() ??? ???? ??? ??? ? ????.
?? ??? ??? ????.
<?php //關閉了所有的錯誤顯示 error_reporting(0); //顯示所有錯誤 //error_reporting(E_ALL); //顯示所有錯誤,但不顯示提示 //error_reporting(E_ALL & ~ E_NOTICE); ?>
? ??? ????? ????? ??? ??? ??? ? ?? ????. ??? ??? ?? ??? ????? ?????.
[?? ??? ?? ? ??]: @ ??? ??? ?? ? ???? ??? ???? ????. @ ??? ???? ??? ??? ?????.
???? ?? ??? ?? ?????. ? PHP ??? ?? ????? ?????.
<?php //讀取一個不存在的adsaf.txt文件,用@符抑制錯誤 @$fp = fopen('adsaf.txt','r'); ?>
PHP ??? @ ?? ?? ????? ??? ????.
<?php //關閉錯誤 error_reporting(0); //讀取一個不存在的文件,顯示錯誤 //顯示錯誤 error_reporting(E_ALL & ~ E_NOTICE); ?>