您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何在php中顯示錯誤級別,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
警告:生產環境永遠都不要顯示任何錯誤信息!
顯示錯誤(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('error_reporting', 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('error_reporting', E_ALL);
error_reporting = E_ALL # 報告所有錯誤 display_errors = On # 顯示錯誤
官網定義了所有的 錯誤常量,常用的有:
E_STRICT (integer) PHP 對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。
E_ALL (integer) E_STRICT外的所有錯誤和警告信息。
E_ERROR (integer) 致命的運行時錯誤。這類錯誤一般是不可恢復的情況,例如內存分配導致的問題。后果是導致腳本終止不再繼續運行。
E_WARNING (integer) 運行時警告 (非致命錯誤)。僅給出提示信息,但是腳本不會終止運行。
E_PARSE (integer) 編譯時語法解析錯誤。解析錯誤僅僅由分析器產生。
E_NOTICE (integer) 運行時通知。表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運行的腳本里面也可能會有類似的通知。
上述就是小編為大家分享的如何在php中顯示錯誤級別了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。