首頁 後端開發 PHP問題 如何進行php.ini報錯設定

如何進行php.ini報錯設定

Mar 05, 2021 pm 05:58 PM
php.ini

php.ini報錯設定的方法:先找到並開啟php.ini設定檔;然後設定內容為「error_reporting=E_ALL display_errors=On」即可。

如何進行php.ini報錯設定

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

PHP 開啟錯誤顯示並設定錯誤報告等級

警告:生產環境永遠不要顯示任何錯誤訊息!

顯示錯誤(display_errors)和錯誤報告(error_reporting)是兩回事。 PHP 腳本發生錯誤時,可以根據設定選擇是否報告這個錯誤(記錄到錯誤日誌中),如果設定中開啟了 display_errors,則同時把錯誤訊息列印到螢幕上。

專案中常用的設定

switch (ENVIRONMENT)
{
    // 对于开发环境,报告所有错误,同时显示到屏幕上
    case 'development':
        error_reporting(-1);
        ini_set('display_errors', 1);
    break;

    // 对于测试和生产环境,不显示错误,5.3 以上的版本,不报告通知、废弃方法、严格这几类错误
    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 預先定義的錯誤常數

官網定義了所有的錯誤常數,常用的有:

  • E_STRICT (integer) PHP 對程式碼的修改建議,以確保程式碼具有最佳的互通性和向前相容性。
  • E_ALL (integer) E_STRICT外的所有錯誤和警告訊息。
  • E_ERROR (integer) 致命的執行階段錯誤。這類錯誤一般是不可恢復的情況,例如記憶體分配所導致的問題。後果是導致腳本終止不再繼續運作。
  • E_WARNING (integer) 執行時期警告 (非致命錯誤)。僅給出提示訊息,但是腳本不會終止運行。
  • E_PARSE (integer) 編譯時語法解析錯誤。解析錯誤僅由分析器產生。
  • E_NOTICE (integer) 執行時期通知。表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運作的腳本裡面也可能會有類似的通知。

在程式碼中開啟並設定顯示等級

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(&#39;error_reporting&#39;, 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(&#39;error_reporting&#39;, E_ALL);
登入後複製

修改 php.ini 設定檔

error_reporting = E_ALL # 报告所有错误
display_errors = On # 显示错误
登入後複製

#【推薦學習:《PHP影片教學》】

以上是如何進行php.ini報錯設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
php.ini怎麼關閉緩存 php.ini怎麼關閉緩存 Mar 15, 2021 am 09:35 AM

php.ini關閉快取的方法:1、找到並開啟php.ini設定檔;2、找到「opcache.enable」和「opcache.enable_cli」選項,將其修改為「opcache.enable=0」和「opcache. enable_cli=0”;3、儲存修改後的檔案即可。

wamp中怎麼修改php.ini文件 wamp中怎麼修改php.ini文件 Mar 20, 2023 pm 03:33 PM

Wampserver是一個可以在Windows電腦上安裝Apache、PHP和MySQL的軟體套件。使用Wampserver可以輕鬆地在本機電腦上開發和測試PHP網站。在開發過程中,我們可能需要修改PHP設定檔php.ini。本文將介紹如何在Wampserver中修改php.ini檔案。

【整理總結】常見的PHP.ini提示報錯及解決方法 【整理總結】常見的PHP.ini提示報錯及解決方法 Mar 20, 2023 pm 04:56 PM

PHP是一種常用的伺服器端腳本語言,廣泛應用於Web開發領域。然而,在PHP開發過程中,我們常常會遇到各種問題。其中,PHP.ini提示報錯是常見的問題。

聊聊如何修改php.ini設定檔 聊聊如何修改php.ini設定檔 Mar 28, 2023 pm 05:34 PM

PHP.ini是一個PHP配置文件,它被用來控制PHP在伺服器上的表現。此文件被用於設定一些變數的值,以便在運行時控制PHP。這篇文章將會向您展示如何修改PHP.ini設定檔的方式,以便控制PHP在您的伺服器上的表現。

php.ini檔案中怎麼更改時區 php.ini檔案中怎麼更改時區 Mar 22, 2023 pm 03:22 PM

PHP是一種非常受歡迎的伺服器端程式語言。在使用PHP開發Web應用程式時,我們有時需要在PHP中設定時區。 PHP預設的時區是“UTC(協調世界時)”,這在許多情況下都不是我們想要的時區,因此我們需要在php.ini檔案中更改時區設定。本文將介紹如何在php.ini檔案中變更時區。

linux php.ini不生效如何解決 linux php.ini不生效如何解決 May 13, 2023 am 09:10 AM

linuxphp.ini不生效的解決方法:1、重新載入php.ini設定檔;2、在列印出的「phpinfo();」中搜尋要修改的設定;3、檢視「php-fpm.conf」設定檔,檢查是否覆蓋了php.ini中的配置即可。 linuxphp.ini不生效怎麼辦?在linux環境下修改php.ini不生效問題排查php.ini修改後不生效主要有以下幾種原因:1、修改php.ini設定檔後,沒有重新載入php.ini設定檔。 2、存在多個php.ini設定檔3、php.ini中的設定被其他檔案中

php7改php.ini不起作用怎麼辦 php7改php.ini不起作用怎麼辦 Nov 07, 2022 am 09:54 AM

php7改php.ini不起作用的解決方法:1.檢查設定檔的路徑;2、對windows下的「php.ini」進行參數的修改;3、設定「post_max_size」的參數為「upload_max_filesize」的N倍;4.重啟apache即可。

php7 php.ini中沒有mysql.all如何解決 php7 php.ini中沒有mysql.all如何解決 May 28, 2023 am 11:59 AM

PHP7中的遷移問題PHP7是PHP的下一個主要版本,它在效能和安全性方面都有巨大的改進,因此許多網站都希望盡快升級到PHP7。然而,升級到PHP7並不總是容易的。由於與先前版本的不相容性,企業可能需要進行一些修改,通常是在應用程式碼中和PHP設定檔中做一些調整。如上所述,PHP7中的mysql擴展已經被刪除,因此如果你在舊版的PHP中使用了mysql擴展,那麼你需要在遷移到PHP7時進行一些修改。你可以選擇將mysql擴充替換為mysqli擴充(mysqli是「MySQLImproved」擴充

See all articles