首頁 >後端開發 >php教程 >php怎麼設定error_reporting()函數的錯誤報告級別

php怎麼設定error_reporting()函數的錯誤報告級別

怪我咯
怪我咯原創
2017-07-11 09:15:451306瀏覽

error_reporting() 函數跪地你給應該回報何種 PHP 錯誤。此函數能夠在執行時間設定 error_reporting 指令。

PHP 有許多錯誤級別,使用該函數可以設定在腳本運行時的級別。如果沒有設定可選參數 level,error_reporting() 僅會傳回目前的錯誤報告等級。

錯誤報告等級:指定了在什麼情況下,腳本程式碼中的錯誤(這裡的錯誤是廣義的錯誤,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命錯誤等)會以錯誤報告的形式輸出。 設定錯誤報告層級的方法: 

  1. 修改PHP的設定檔php.ini  這種方式設定error_reporting後,重新啟動web伺服器,就會永久生效。 這裡以xampp整合軟體包為例,開啟設定檔php.ini,查看錯誤報告等級error_reporting的預設值,如下:  error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT  意思是報告所有的錯誤,但除了E_DEPRECATED和E_STRICT這兩種。 將其修改為:  error_reporting=E_ALL & ~E_NOTICE  意思是報告所有的錯誤,但除了E_NOTICE這一種。這也是最常用的錯誤報告級別,它不會報告注意類別(如:使用了未定義的變數)的錯誤。 儲存,重啟web伺服器後生效。

  2.  使用error_reporting()函數 這種方式設定後,可以立即生效。但僅限於在目前腳本中的error_reporting()函數呼叫的後面區域。  int error_reporting ([ int $level ] )  參數可以是整數或對應的常數標識符,建議使用常數的形​​式。傳回值為目前位置處起作用的錯誤報告等級的值(整數值)。

  3. 以下列出一些錯誤報告層級:

      1. E_ERROR 報告導致腳本終止執行的致命錯誤 

    2 .E_WARNING 報告執行時的警告類別錯誤(腳本不會終止執行)

    4. E_PARSE 報告編譯時的語法解析錯誤 

    8 .E_NOTICE 報告通知類別錯誤,腳本可能會產生錯誤 

    32767 E_ALL 報告所有的可能出現的錯誤(不同的PHP版本,常數E_ALL的值也可能不同)

     error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,報告所有的錯誤 

    error_reporting(E_ERROR); // 只回報致命錯誤 

echo error_reporting(E_ERROR | E_WARNING | E_NOTICE); // 只回報E_ERROR、E_WARNING和E_NOTICE三種錯誤 優就業提醒:設定檔php.ini中display_errors的預設值為On,代表顯示錯誤提示,如果設定為Off,就會關閉所有的錯誤提示。 

以上是php怎麼設定error_reporting()函數的錯誤報告級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn