首頁  >  文章  >  後端開發  >  php如何顯示錯誤級別

php如何顯示錯誤級別

青灯夜游
青灯夜游原創
2021-05-31 18:28:492197瀏覽

php顯示錯誤等級的方法:先尋找並開啟php.ini設定檔;然後設定“error_reporting”項目的值為“E_ALL”,設定“display_errors”項目的值為“On”;最後儲存文件即可。

php如何顯示錯誤級別

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

警告:生產環境永遠不要顯示任何錯誤訊息!

顯示錯誤(display_errors)和錯誤報告(error_reporting)是兩回事。 PHP 腳本發生錯誤時,可以根據設定選擇是否報告這個錯誤(記錄到錯誤日誌中),如果設定中開啟了 display_errors,則同時把錯誤訊息列印到螢幕上。

在程式碼中開啟並設定顯示等級

ini_set() 函數

對於PHP ,可以透過php.ini 檔案設定各種指令。但有時候需要在腳本執行時設定指令,那就需要 ini_set() 函數了。

string ini_set ( string $varname , string $newvalue )

設定指定配置選項的值。這個選項會在腳本運行時保持新的值,並在腳本結束時恢復。

例如:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'on');

error_reporting() 函數

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

PHP7.2 的預設值為 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

在開發階段建議啟用 E_NOTICE 顯示更多可能的錯誤。

<?php

// 关闭所有PHP错误报告,相当于 ini_set(&#39;error_reporting&#39;, 0);
error_reporting(0);

error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE  (报告未初始化的变量或捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);

// 报告所有 PHP 错误
error_reporting(-1);

// 和 error_reporting(E_ALL); 一样
ini_set(&#39;error_reporting&#39;, E_ALL);

修改php.ini 設定檔

error_reporting = E_ALL # 报告所有错误
display_errors = On # 显示错误

PHP 預先定義的錯誤常數

官網定義了所有的錯誤常數,常用的有:

  • E_STRICT (integer) PHP 對程式碼的修改建議,以確保程式碼具有最佳的互通性和向前相容性。
  • E_ALL (integer) E_STRICT外的所有錯誤和警告訊息。
  • E_ERROR (integer) 致命的執行階段錯誤。這類錯誤一般是不可恢復的情況,例如記憶體分配所導致的問題。後果是導致腳本終止不再繼續運作。
  • E_WARNING (integer) 執行時期警告 (非致命錯誤)。僅給出提示訊息,但是腳本不會終止運行。
  • E_PARSE (integer) 編譯時語法解析錯誤。解析錯誤僅由分析器產生。
  • E_NOTICE (integer) 執行時期通知。表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運作的腳本裡面也可能會有類似的通知。

推薦學習:《PHP影片教學

以上是php如何顯示錯誤級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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