PHP關閉Notice錯誤提示


原文出處

本文章介紹在php中關閉notice錯誤的一些做法,但是不得不說的是在關掉錯誤提示時,那么程序代碼中大量的notice級別錯誤是否會造成PHP性能下降

PHP Notice: Undefined variable
PHP Notice: Undefined index

看看吧,你有沒定義的變量直接使用了。不過編PHP的時候本來就不像C++那么嚴格,編程的時候經常還會利用這個特點。PHP的默認設置是顯示這些提示,這會造成頁面無法正常顯示出來。

//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE); //顯示除去 E_NOTICE 之外的所有錯誤信息

第一個是代表顯示所有錯誤,第二個代表顯示所有錯誤不顯示警告,我們只要把第二行前面加//,把第一行前面的//去掉即可。
附:各個錯誤報告詳解

error_reporting(0);//禁用錯誤報告
error_reporting(E_ALL ^ E_NOTICE);//顯示除去 E_NOTICE 之外的所有錯誤信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);//顯示除去E_WARNING E_NOTICE 之外的所有錯誤信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);//顯示運行時錯誤,與error_reporting(E_ALL ^ E_NOTICE);效果相同。
error_reporting(E_ALL);//顯示所有錯誤

 實例如下:

if (!$a) {
 error_reporting(0);
 ob_start('ob_gzhandler');
} else {
 error_reporting(E_ALL ^ E_NOTICE);
}

在php.ini中禁止修改方法

1、由空間商在服務器中的php.ini的配置文件修改:
在php.ini文件中改動error_reporting
改為:

error_reporting = E_ALL & ~E_NOTICE

 如果你是固得美國空間用戶,不能操作php.ini文件,你可以用下面的方法來實現
2.在你想禁止notice錯誤提示的頁面中加入下面的代碼

/* Report all errors except E_NOTICE */
error_reporting(E_ALL ^ E_NOTICE);

注意一點的是

關閉掉PHP錯誤輸出並不會關閉php內核對錯誤的處理,代碼中如果有大量的Notice級別的錯誤,還是會降低php程序的性能。所以我們在開發的時候還是要將錯誤級別開至E_ALL,謹慎的處理掉每處不合理的代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM