這篇文章主要介紹了怎么進(jìn)行php.ini報(bào)錯(cuò)設(shè)置,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php.ini報(bào)錯(cuò)設(shè)置的方法:首先找到并打開php.ini配置文件;然后設(shè)置內(nèi)容為“error_reporting=E_ALL display_errors=On”即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
PHP 開啟錯(cuò)誤顯示并設(shè)置錯(cuò)誤報(bào)告級(jí)別
警告:生產(chǎn)環(huán)境永遠(yuǎn)都不要顯示任何錯(cuò)誤信息!
顯示錯(cuò)誤(display_errors)和錯(cuò)誤報(bào)告(error_reporting)是兩回事。PHP 腳本發(fā)生錯(cuò)誤時(shí),可以根據(jù)設(shè)置選擇是否報(bào)告這個(gè)錯(cuò)誤(記錄到錯(cuò)誤日志中),如果設(shè)置中開啟了 display_errors,則同時(shí)把錯(cuò)誤信息打印到屏幕上。
項(xiàng)目中常用的設(shè)置
switch (ENVIRONMENT) { // 對(duì)于開發(fā)環(huán)境,報(bào)告所有錯(cuò)誤,同時(shí)顯示到屏幕上 case 'development': error_reporting(-1); ini_set('display_errors', 1); break; // 對(duì)于測(cè)試和生產(chǎn)環(huán)境,不顯示錯(cuò)誤,5.3 以上的版本,不報(bào)告通知、廢棄方法、嚴(yán)格這幾類錯(cuò)誤 case 'testing': case 'production': ini_set('display_errors', 0); if (version_compare(PHP_VERSION, '5.3', '>=')) { error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED); } else { error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE); } break; default: header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); echo 'The application environment is not set correctly.'; exit(1); // EXIT_ERROR }
PHP 預(yù)定義的錯(cuò)誤常量
官網(wǎng)定義了所有的 錯(cuò)誤常量,常用的有:
E_STRICT (integer) PHP 對(duì)代碼的修改建議,以確保代碼具有很好的互操作性和向前兼容性。
E_ALL (integer) E_STRICT外的所有錯(cuò)誤和警告信息。
E_ERROR (integer) 致命的運(yùn)行時(shí)錯(cuò)誤。這類錯(cuò)誤一般是不可恢復(fù)的情況,例如內(nèi)存分配導(dǎo)致的問題。后果是導(dǎo)致腳本終止不再繼續(xù)運(yùn)行。
E_WARNING (integer) 運(yùn)行時(shí)警告 (非致命錯(cuò)誤)。僅給出提示信息,但是腳本不會(huì)終止運(yùn)行。
E_PARSE (integer) 編譯時(shí)語法解析錯(cuò)誤。解析錯(cuò)誤僅僅由分析器產(chǎn)生。
E_NOTICE (integer) 運(yùn)行時(shí)通知。表示腳本遇到可能會(huì)表現(xiàn)為錯(cuò)誤的情況,但是在可以正常運(yùn)行的腳本里面也可能會(huì)有類似的通知。
在代碼中開啟并設(shè)置顯示級(jí)別
ini_set() 函數(shù)
對(duì)于 PHP,可以通過php.ini
文件設(shè)置各種指令。但有時(shí)候需要在腳本運(yùn)行時(shí)設(shè)置指令,那就需要ini_set()
函數(shù)了。
string ini_set ( string $varname , string $newvalue )
設(shè)置指定配置選項(xiàng)的值。這個(gè)選項(xiàng)會(huì)在腳本運(yùn)行時(shí)保持新的值,并在腳本結(jié)束時(shí)恢復(fù)。
例如:
ini_set('error_reporting', E_ALL); ini_set('display_errors', 'on');
error_reporting() 函數(shù)
error_reporting()
函數(shù)能夠在運(yùn)行時(shí)設(shè)置 error_reporting 指令。 PHP 有諸多錯(cuò)誤級(jí)別,使用該函數(shù)可以設(shè)置在腳本運(yùn)行時(shí)的級(jí)別。如果沒有設(shè)置可選參數(shù), error_reporting() 會(huì)返回當(dāng)前的錯(cuò)誤報(bào)告級(jí)別。
PHP7.2 的默認(rèn)值為E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
。
在開發(fā)階段建議啟用 E_NOTICE 顯示更多可能的錯(cuò)誤。
<?php // 關(guān)閉所有PHP錯(cuò)誤報(bào)告,相當(dāng)于 ini_set('error_reporting', 0); error_reporting(0); error_reporting(E_ERROR | E_WARNING | E_PARSE); // 報(bào)告 E_NOTICE (報(bào)告未初始化的變量或捕獲變量名的錯(cuò)誤拼寫) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // 除了 E_NOTICE,報(bào)告其他所有錯(cuò)誤 error_reporting(E_ALL ^ E_NOTICE); // 報(bào)告所有 PHP 錯(cuò)誤 (參見 changelog) error_reporting(E_ALL); // 報(bào)告所有 PHP 錯(cuò)誤 error_reporting(-1); // 和 error_reporting(E_ALL); 一樣 ini_set('error_reporting', E_ALL);
修改 php.ini 配置文件
error_reporting = E_ALL # 報(bào)告所有錯(cuò)誤 display_errors = On # 顯示錯(cuò)誤
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么進(jìn)行php.ini報(bào)錯(cuò)設(shè)置”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
網(wǎng)站名稱:怎么進(jìn)行php.ini報(bào)錯(cuò)設(shè)置-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://chinadenli.net/article18/djihdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)、外貿(mào)建站、電子商務(wù)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容