您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“php.ini中如何設(shè)置錯(cuò)誤級(jí)別”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“php.ini中如何設(shè)置錯(cuò)誤級(jí)別”吧!
php.ini中設(shè)置錯(cuò)誤級(jí)別的方法:打開“php.ini”配置文件,找到“error_reporting”項(xiàng),將該項(xiàng)的值設(shè)置為需要的錯(cuò)誤類型,例如“E_ALL & ~E_NOTICE”后,重啟web服務(wù)器即可。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
PHP 中定義了許多不同級(jí)別的錯(cuò)誤,如使用了未定義的變量會(huì)報(bào)出一個(gè) notice 級(jí)別的錯(cuò)誤,實(shí)例化一個(gè)未定義的類則會(huì)報(bào)出 fatal error 級(jí)別的錯(cuò)誤。
可在 php.ini 配置文件中使用error_reporting定義錯(cuò)誤級(jí)別,在代碼中也可使用error_reporting(E_ALL)等來定義錯(cuò)誤級(jí)別。
php.ini中設(shè)置錯(cuò)誤級(jí)別的方法
這種方式設(shè)置error_reporting后,重啟web服務(wù)器,就會(huì)永久生效。
這里以xampp集成軟件包為例,打開配置文件php.ini,查看錯(cuò)誤報(bào)告級(jí)別error_reporting的默認(rèn)值,如下:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
意思是報(bào)告所有的錯(cuò)誤,但除了E_DEPRECATED和E_STRICT這兩種。
將error_reporting的值設(shè)置為需要的錯(cuò)誤類型,例修改為:
error_reporting=E_ALL & ~E_NOTICE
意思是報(bào)告所有的錯(cuò)誤,但除了E_NOTICE這一種。這也是最常用的錯(cuò)誤報(bào)告級(jí)別,它不會(huì)報(bào)告注意類(如:使用了未定義的變量)的錯(cuò)誤。
保存,重啟web服務(wù)器后生效。
PHP 中的錯(cuò)誤類型如下表所示:
值 | 常量 | 說明 |
---|---|---|
1 | E_ERROR | 致命的運(yùn)行時(shí)錯(cuò)誤,一般是不可恢復(fù)的情況,例如內(nèi)存分配導(dǎo)致的問題,后果是導(dǎo)致腳本終止、不再繼續(xù)運(yùn)行。 |
2 | E_WARNING | 運(yùn)行時(shí)警告(非致命錯(cuò)誤),僅給出提示信息,但是腳本不會(huì)終止運(yùn)行。 |
4 | E_PARSE | 編譯時(shí)語法解析錯(cuò)誤,僅由分析器產(chǎn)生。 |
8 | E_NOTICE | 運(yùn)行時(shí)通知,表示腳本遇到可能會(huì)表現(xiàn)為錯(cuò)誤的情況,但是在可以正常運(yùn)行的腳本里面也可能會(huì)有類似的通知。 |
16 | E_CORE_ERROR | 在 PHP 初始化啟動(dòng)過程中發(fā)生的致命錯(cuò)誤,類似 E_ERROR,但是是由 PHP 引擎核心產(chǎn)生的。 |
32 | E_CORE_WARNING | PHP 初始化啟動(dòng)過程中發(fā)生的警告(非致命錯(cuò)誤),類似 E_WARNING ,但是是由 PHP 引擎核心產(chǎn)生的。 |
64 | E_COMPILE_ERROR | 致命編譯時(shí)錯(cuò)誤,類似 E_ERROR,但是是由 Zend 腳本引擎產(chǎn)生的。 |
128 | E_COMPILE_WARNING | 編譯時(shí)警告(非致命錯(cuò)誤),類似 E_WARNING,但是是由 Zend 腳本引擎產(chǎn)生的。 |
256 | E_USER_ERROR | 用戶產(chǎn)生的錯(cuò)誤信息,類似 E_ERROR,但是是由用戶自己在代碼中使用 PHP 函數(shù) trigger_error() 來產(chǎn)生的。 |
512 | E_USER_WARNING | 用戶產(chǎn)生的警告信息,類似 E_WARNING,但是是由用戶自己在代碼中使用 PHP 函數(shù) trigger_error() 來產(chǎn)生的。 |
1024 | E_USER_NOTICE | 用戶產(chǎn)生的通知信息,類似 E_NOTICE,但是是由用戶自己在代碼中使用 PHP 函數(shù) trigger_error() 來產(chǎn)生的。 |
1024 | E_STRICT | 啟用 PHP 對(duì)代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 |
2048 | E_RECOVERABLE_ERROR | 可被捕捉的致命錯(cuò)誤,表示發(fā)生了一個(gè)可能非常危險(xiǎn)的錯(cuò)誤,但是還沒有導(dǎo)致 PHP 引擎處于不穩(wěn)定的狀態(tài)。如果該錯(cuò)誤沒有被用戶自定義句柄捕獲,將成為一個(gè) E_ERROR,從而使腳本終止運(yùn)行。 |
8192 | E_DEPRECATED | 運(yùn)行時(shí)通知,啟用后將會(huì)對(duì)在未來版本中可能無法正常工作的代碼給出警告。 |
16384 | E_USER_DEPRECATED | 用戶產(chǎn)生的警告信息,類似 E_DEPRECATED,但是是由用戶自己在代碼中使用 PHP 函數(shù) trigger_error() 來產(chǎn)生的。 |
30719 | E_ALL | E_STRICT 除外的所有錯(cuò)誤和警告信息。 |
表格中的值(數(shù)值或者符號(hào))用于建立一個(gè)二進(jìn)制位掩碼,制定要報(bào)告的錯(cuò)誤信息??梢允褂冒次贿\(yùn)算符來組合這些值或者屏蔽某些類型的錯(cuò)誤。
注意,在 php.ini 之中,只有 '|'、'~'、'!'、'^' 和 '&' 會(huì)正確解析。
在正式環(huán)境中,可能會(huì)發(fā)生各種未知的錯(cuò)誤,這時(shí)可以定義 error_reporting(0),這樣就能屏蔽錯(cuò)誤了,用戶不會(huì)在頁面看到錯(cuò)誤信息,而當(dāng)排查錯(cuò)誤時(shí),依然可到 PHP 的執(zhí)行錯(cuò)誤日志中尋找相關(guān)信息。
到此,相信大家對(duì)“php.ini中如何設(shè)置錯(cuò)誤級(jí)別”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。