怎么進(jìn)行php.ini報錯設(shè)置

這篇文章主要介紹了怎么進(jìn)行php.ini報錯設(shè)置,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)收費合理;免費進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了十載的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。

php.ini報錯設(shè)置的方法:首先找到并打開php.ini配置文件;然后設(shè)置內(nèi)容為“error_reporting=E_ALL display_errors=On”即可。

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

PHP 開啟錯誤顯示并設(shè)置錯誤報告級別

警告:生產(chǎn)環(huán)境永遠(yuǎn)都不要顯示任何錯誤信息!

顯示錯誤(display_errors)和錯誤報告(error_reporting)是兩回事。PHP 腳本發(fā)生錯誤時,可以根據(jù)設(shè)置選擇是否報告這個錯誤(記錄到錯誤日志中),如果設(shè)置中開啟了 display_errors,則同時把錯誤信息打印到屏幕上。

項目中常用的設(shè)置

switch (ENVIRONMENT)
{
    // 對于開發(fā)環(huán)境,報告所有錯誤,同時顯示到屏幕上
    case 'development':
        error_reporting(-1);
        ini_set('display_errors', 1);
    break;

    // 對于測試和生產(chǎn)環(huán)境,不顯示錯誤,5.3 以上的版本,不報告通知、廢棄方法、嚴(yán)格這幾類錯誤
    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ù)定義的錯誤常量

官網(wǎng)定義了所有的 錯誤常量,常用的有:

  • E_STRICT (integer) PHP 對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。

  • E_ALL (integer) E_STRICT外的所有錯誤和警告信息。

  • E_ERROR (integer) 致命的運行時錯誤。這類錯誤一般是不可恢復(fù)的情況,例如內(nèi)存分配導(dǎo)致的問題。后果是導(dǎo)致腳本終止不再繼續(xù)運行。

  • E_WARNING (integer) 運行時警告 (非致命錯誤)。僅給出提示信息,但是腳本不會終止運行。

  • E_PARSE (integer) 編譯時語法解析錯誤。解析錯誤僅僅由分析器產(chǎn)生。

  • E_NOTICE (integer) 運行時通知。表示腳本遇到可能會表現(xiàn)為錯誤的情況,但是在可以正常運行的腳本里面也可能會有類似的通知。

在代碼中開啟并設(shè)置顯示級別

ini_set() 函數(shù)

對于 PHP,可以通過 php.ini 文件設(shè)置各種指令。但有時候需要在腳本運行時設(shè)置指令,那就需要 ini_set() 函數(shù)了。

string ini_set ( string $varname , string $newvalue )

設(shè)置指定配置選項的值。這個選項會在腳本運行時保持新的值,并在腳本結(jié)束時恢復(fù)。

例如:

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

error_reporting() 函數(shù)

error_reporting() 函數(shù)能夠在運行時設(shè)置 error_reporting 指令。 PHP 有諸多錯誤級別,使用該函數(shù)可以設(shè)置在腳本運行時的級別。如果沒有設(shè)置可選參數(shù), error_reporting() 會返回當(dāng)前的錯誤報告級別。

PHP7.2 的默認(rèn)值為 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED。

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

<?php

// 關(guān)閉所有PHP錯誤報告,相當(dāng)于 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);

修改 php.ini 配置文件

error_reporting = E_ALL # 報告所有錯誤
display_errors = On # 顯示錯誤

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么進(jìn)行php.ini報錯設(shè)置”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)站名稱:怎么進(jìn)行php.ini報錯設(shè)置
本文鏈接:http://muchs.cn/article14/iegpge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站策劃、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、外貿(mào)建站、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)