成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

php error_reporting()關(guān)閉報(bào)錯(cuò)

noONE / 3148人閱讀

摘要:至,有同樣的行為。表示關(guān)閉所有錯(cuò)誤報(bào)告表示顯示二函數(shù)說(shuō)明設(shè)置應(yīng)該報(bào)告何種錯(cuò)誤說(shuō)明函數(shù)能夠在運(yùn)行時(shí)設(shè)置指令。后果是導(dǎo)致腳本終止不再繼續(xù)運(yùn)行。初始化啟動(dòng)過(guò)程中發(fā)生的警告非致命錯(cuò)誤。用戶(hù)產(chǎn)少的警告信息。出外的所有錯(cuò)誤和警告信息。

錯(cuò)誤報(bào)告級(jí)別:指定了在什么情況下,腳本代碼中的錯(cuò)誤(這里的錯(cuò)誤是廣義的錯(cuò)誤,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命錯(cuò)誤等)會(huì)以錯(cuò)誤報(bào)告的形式輸出。
一、常用設(shè)置說(shuō)明

error_reporting(-1); 表示顯示所有PHP錯(cuò)誤報(bào)告,包括將來(lái)PHP加入的新的錯(cuò)誤級(jí)別。 至PHP5.4,E_ALL有同樣的行為。

error_reporting(0); 表示關(guān)閉所有PHP錯(cuò)誤報(bào)告

error_reporting(7); 表示顯示 E_ERROR(1) | E_WARING(2) | E_PARSE(4) == (1+2+4)

二、error_reporting函數(shù)說(shuō)明

error_reporting — 設(shè)置應(yīng)該報(bào)告何種 PHP 錯(cuò)誤

說(shuō)明
int error_reporting ([ int $level ] )

error_reporting() 函數(shù)能夠在運(yùn)行時(shí)設(shè)置 error_reporting 指令。 PHP 有諸多錯(cuò)誤級(jí)別,使用該函數(shù)可以設(shè)置在腳本運(yùn)行時(shí)的級(jí)別。 如果沒(méi)有設(shè)置可選參數(shù) level, error_reporting() 僅會(huì)返回當(dāng)前的錯(cuò)誤報(bào)告級(jí)別。

參數(shù) level

新的 error_reporting 級(jí)別。 可以是一個(gè)位掩碼也可以是一個(gè)已命名的常量。 強(qiáng)烈建議使用已命名的常量,以確保兼容將來(lái)的版本。 由于錯(cuò)誤級(jí)別的添加、整數(shù)取值范圍的增加, 較久的基于整數(shù)的錯(cuò)誤級(jí)別不會(huì)總是和預(yù)期的表現(xiàn)一致。
可用的錯(cuò)誤級(jí)別常量及其實(shí)際含義描述在了 predefined constants 中。

值 常量 說(shuō)明 備注
1 E_ERROR (integer) 致命的運(yùn)行時(shí)錯(cuò)誤。這類(lèi)錯(cuò)誤一般是不可恢復(fù)的情況,例如內(nèi)存分配導(dǎo)致的問(wèn)題。后果是導(dǎo)致腳本終止不再繼續(xù)運(yùn)行。
2 E_WARNING (integer) 運(yùn)行時(shí)警告 (非致命錯(cuò)誤)。僅給出提示信息,但是腳本不會(huì)終止運(yùn)行。
4 E_PARSE (integer) 編譯時(shí)語(yǔ)法解析錯(cuò)誤。解析錯(cuò)誤僅僅由分析器產(chǎn)生。
8 E_NOTICE (integer) 運(yùn)行時(shí)通知。表示腳本遇到可能會(huì)表現(xiàn)為錯(cuò)誤的情況,但是在可以正常運(yùn)行的腳本里面也可能會(huì)有類(lèi)似的通知。
16 E_CORE_ERROR (integer) 在PHP初始化啟動(dòng)過(guò)程中發(fā)生的致命錯(cuò)誤。該錯(cuò)誤類(lèi)似 E_ERROR,但是是由PHP引擎核心產(chǎn)生的。 since PHP 4
32 E_CORE_WARNING (integer) PHP初始化啟動(dòng)過(guò)程中發(fā)生的警告 (非致命錯(cuò)誤) 。類(lèi)似 E_WARNING,但是是由PHP引擎核心產(chǎn)生的。 since PHP 4
64 E_COMPILE_ERROR (integer) 致命編譯時(shí)錯(cuò)誤。類(lèi)似E_ERROR, 但是是由Zend腳本引擎產(chǎn)生的。 since PHP 4
128 E_COMPILE_WARNING (integer) 編譯時(shí)警告 (非致命錯(cuò)誤)。類(lèi)似 E_WARNING,但是是由Zend腳本引擎產(chǎn)生的。 since PHP 4
256 E_USER_ERROR (integer) 用戶(hù)產(chǎn)生的錯(cuò)誤信息。類(lèi)似 E_ERROR, 但是是由用戶(hù)自己在代碼中使用PHP函數(shù) trigger_error()來(lái)產(chǎn)生的。 since PHP 4
512 E_USER_WARNING (integer) 用戶(hù)產(chǎn)生的警告信息。類(lèi)似 E_WARNING, 但是是由用戶(hù)自己在代碼中使用PHP函數(shù) trigger_error()來(lái)產(chǎn)生的。 since PHP 4
1024 E_USER_NOTICE (integer) 用戶(hù)產(chǎn)生的通知信息。類(lèi)似 E_NOTICE, 但是是由用戶(hù)自己在代碼中使用PHP函數(shù) trigger_error()來(lái)產(chǎn)生的。 since PHP 4
2048 E_STRICT (integer) 啟用 PHP 對(duì)代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 since PHP 5
4096 E_RECOVERABLE_ERROR (integer) 可被捕捉的致命錯(cuò)誤。 它表示發(fā)生了一個(gè)可能非常危險(xiǎn)的錯(cuò)誤,但是還沒(méi)有導(dǎo)致PHP引擎處于不穩(wěn)定的狀態(tài)。 如果該錯(cuò)誤沒(méi)有被用戶(hù)自定義句柄捕獲 (參見(jiàn) set_error_handler()),將成為一個(gè) E_ERROR 從而腳本會(huì)終止運(yùn)行。 since PHP 5.2.0
8192 E_DEPRECATED (integer) 運(yùn)行時(shí)通知。啟用后將會(huì)對(duì)在未來(lái)版本中可能無(wú)法正常工作的代碼給出警告。 since PHP 5.3.0
16384 E_USER_DEPRECATED (integer) 用戶(hù)產(chǎn)少的警告信息。 類(lèi)似 E_DEPRECATED, 但是是由用戶(hù)自己在代碼中使用PHP函數(shù) trigger_error()來(lái)產(chǎn)生的。 since PHP 5.3.0
30719 E_ALL (integer) E_STRICT出外的所有錯(cuò)誤和警告信息。 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously

上面的值(數(shù)值或者符號(hào))用于建立一個(gè)二進(jìn)制位掩碼,來(lái)制定要報(bào)告的錯(cuò)誤信息??梢允褂冒次贿\(yùn)算符來(lái)組合這些值或者屏蔽某些類(lèi)型的錯(cuò)誤。請(qǐng)注意,在 php.ini 之中,只有"|", "~", "!", "^" 和 "&" 會(huì)正確解析。

如果不關(guān)閉E_NOTICE,則未初始化的變量會(huì)顯示在頁(yè)面:

在php_error_log 中可以看出:

如果給腳本加上這段代碼,就不會(huì)爆出這樣的提示:

error_reporting(E_ALL ^ E_NOTICE);
三、設(shè)置 php.ini

有時(shí)候,PHP代碼在調(diào)試的時(shí)候,有錯(cuò)誤,不提示是一件很憂(yōu)傷的事,難道你指望自己猜出問(wèn)題所在么?當(dāng)然不行,就算在最頁(yè)面最開(kāi)始執(zhí)行了 error_reporting(E_ALL),發(fā)現(xiàn)還是沒(méi)有輸出錯(cuò)誤,其實(shí)原因就是在php.ini里面將display_errors關(guān)閉了??梢栽?b>php.ini里面將display_errors配置為On,然后重啟php-fpm,如果服務(wù)器上既有測(cè)試項(xiàng)目,又有線(xiàn)上項(xiàng)目,那么還是不要開(kāi)啟,以防別人利用你的錯(cuò)誤,而攻擊你。

只需要再需要測(cè)試的項(xiàng)目里面加上即可

ini_set("display_errors","On");

error_reporting(E_ALL);
四、在PHP腳本打印錯(cuò)誤信息
ini_set("display_errors",1);            //錯(cuò)誤信息
ini_set("display_startup_errors",1);    //php啟動(dòng)錯(cuò)誤信息
error_reporting(-1);                    //打印出所有的 錯(cuò)誤信息

項(xiàng)目中打印錯(cuò)誤信息:

// 錯(cuò)誤信息
@ini_set("display_errors",1);
error_reporting(E_ALL & ~ (E_STRICT | E_NOTICE | E_WARNING));

判斷某個(gè)進(jìn)程是否有運(yùn)行:

// 判斷程序是否有啟動(dòng)
define("runcode", 1);

    $handle = popen("ps -ef | grep redis 2>&1", "r");
        $cmd_cont = "";
        while(!feof($handle)) {
            $buffer = fgets($handle);
            $cmd_cont .= $buffer;
        }
        pclose($handle);

dump($cmd_cont);

調(diào)試腳本:














EOF; echo $str;

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23209.html

相關(guān)文章

  • 開(kāi)發(fā)模式與產(chǎn)品模式下的PHP報(bào)錯(cuò)處理

    摘要:當(dāng)程序開(kāi)發(fā)完成,成為正式產(chǎn)品時(shí),我們希望將沒(méi)有預(yù)測(cè)到的報(bào)錯(cuò)信息記錄到錯(cuò)誤日志中,而不是將這些報(bào)錯(cuò)信息展示給用戶(hù),因?yàn)橛脩?hù)極有可能利用這些暴露出腳本路徑數(shù)據(jù)庫(kù)信息或其他的報(bào)錯(cuò)信息進(jìn)行一些破壞性的黑客行動(dòng)。 程序報(bào)錯(cuò)總是在所難免,盡管我們書(shū)寫(xiě)代碼時(shí)已經(jīng)格外小心。 在開(kāi)發(fā)php程序時(shí),我們希望遇到php報(bào)錯(cuò),可以第一時(shí)間展示給我們,以便于調(diào)試。當(dāng)程序開(kāi)發(fā)完成,成為正式產(chǎn)品時(shí),我們希望將沒(méi)有預(yù)...

    baiy 評(píng)論0 收藏0
  • PHP常用系統(tǒng)設(shè)置整理

    摘要:設(shè)置時(shí)間腳本執(zhí)行時(shí)間設(shè)置最大執(zhí)行內(nèi)存設(shè)置內(nèi)存獲取使用內(nèi)存設(shè)置與客戶(hù)機(jī)斷開(kāi)是否會(huì)終止腳本的執(zhí)行,直至有輸出任務(wù)為止設(shè)置默認(rèn)時(shí)區(qū)與獲取默認(rèn)時(shí)區(qū)設(shè)置跨域訪問(wèn)限制跨域文件設(shè)置報(bào)錯(cuò)信息開(kāi)啟報(bào)錯(cuò),開(kāi)發(fā)環(huán)境關(guān)閉報(bào)錯(cuò),生產(chǎn)環(huán)境 1.設(shè)置時(shí)間腳本執(zhí)行時(shí)間 set_time_limit(0); 2.設(shè)置最大執(zhí)行內(nèi)存 ini_set(memory_limit,1024M);//設(shè)置內(nèi)存 memory_get...

    lemanli 評(píng)論0 收藏0
  • php的異常和處理

    摘要:常見(jiàn)錯(cuò)誤處理類(lèi)型語(yǔ)法錯(cuò)誤環(huán)境錯(cuò)誤邏輯錯(cuò)誤常見(jiàn)錯(cuò)誤級(jí)別最低級(jí)別的錯(cuò)誤不推薦,不建議,使用一些過(guò)期函數(shù)的時(shí)候會(huì)出現(xiàn),程序繼續(xù)執(zhí)行通知級(jí)別的錯(cuò)誤使用一些未定義變量常量或者數(shù)組沒(méi)有加引號(hào)的時(shí)候會(huì)出現(xiàn),程序繼續(xù)執(zhí)行警告級(jí)別的錯(cuò)誤程序出問(wèn)題了,需要修改 常見(jiàn)錯(cuò)誤處理類(lèi)型 語(yǔ)法錯(cuò)誤 環(huán)境錯(cuò)誤 邏輯錯(cuò)誤 常見(jiàn)錯(cuò)誤級(jí)別 Deprecated 最低級(jí)別的錯(cuò)誤 不推薦,不建議,使用一些過(guò)期函數(shù)的時(shí)候...

    CarterLi 評(píng)論0 收藏0
  • 解讀 thinkphp5 源碼(二):異常處理和請(qǐng)求生命周期

    摘要:異常處理上節(jié)解讀源碼一自動(dòng)加載看完了自動(dòng)加載部分,根據(jù)代碼執(zhí)行順序,的行注冊(cè)錯(cuò)誤和異常處理機(jī)制加載慣例配置文件下面的加載配置文件不用說(shuō),現(xiàn)在重點(diǎn)看一下異常處理。博客鏈接解讀源碼二異常處理和請(qǐng)求生命周期 異常處理 上節(jié)解讀 thinkphp5 源碼(一):自動(dòng)加載看完了自動(dòng)加載部分,根據(jù)代碼執(zhí)行順序,base.php的59-64行 // 注冊(cè)錯(cuò)誤和異常處理機(jī)制 hinkError::r...

    yuanzhanghu 評(píng)論0 收藏0
  • PHP 錯(cuò)誤與異常

    摘要:但異常捕獲后程序可以繼續(xù)執(zhí)行,而真正的錯(cuò)誤出現(xiàn)后程序就必須終止異常可以使用來(lái)捕獲捕獲,捕獲之后后續(xù)代碼可以繼續(xù)執(zhí)行而錯(cuò)誤是無(wú)法使用捕獲的如果拋出了異常,就必須捕獲它否則程序終止執(zhí)行。 PHP錯(cuò)誤級(jí)別 Parse error > Fatal Error > Waning > Notice > Deprecated Deprecated 最低級(jí)別的錯(cuò)誤(不推薦,不建議)使用一些過(guò)期函數(shù)的...

    longmon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<