Heim > Backend-Entwicklung > PHP-Problem > So richten Sie die php.ini-Fehlerberichterstattung ein

So richten Sie die php.ini-Fehlerberichterstattung ein

藏色散人
Freigeben: 2023-03-08 13:30:02
Original
3299 Leute haben es durchsucht

So stellen Sie die php.ini-Fehlerberichterstattung ein: Suchen und öffnen Sie zuerst die php.ini-Konfigurationsdatei und setzen Sie dann den Inhalt auf „error_reporting=E_ALL display_errors=On“.

So richten Sie die php.ini-Fehlerberichterstattung ein

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP Schalten Sie die Fehleranzeige ein und legen Sie die Fehlerberichtsstufe fest

Warnung: Niemals Zeigen Sie es in der Produktionsumgebung an. Eventuelle Fehlermeldungen!

Display_errors und error_reporting sind zwei verschiedene Dinge. Wenn in einem PHP-Skript ein Fehler auftritt, können Sie wählen, ob der Fehler gemäß den Einstellungen gemeldet (im Fehlerprotokoll aufgezeichnet) werden soll. Wenn display_errors in den Einstellungen aktiviert ist, wird die Fehlermeldung am angezeigt zur gleichen Zeit.

Häufig verwendete Einstellungen in Projekten

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
}
Nach dem Login kopieren

PHP-vordefinierte Fehlerkonstanten

Die offizielle Website definiert alle Fehlerkonstanten, häufig verwendete sind:

  • E_STRICT (Ganzzahl) PHP-Vorschläge für Codeänderungen, um sicherzustellen, dass der Code optimal ist Interoperabilität und Vorwärtskompatibilität.
  • E_ALL (Ganzzahl) Alle Fehler- und Warnmeldungen außer E_STRICT.
  • E_ERROR (Ganzzahl) Schwerwiegender Laufzeitfehler. Bei dieser Art von Fehler handelt es sich im Allgemeinen um eine nicht behebbare Situation, beispielsweise um ein Problem, das durch die Speicherzuweisung verursacht wird. Die Folge ist, dass das Skript beendet wird und nicht weiter ausgeführt wird.
  • E_WARNING (Ganzzahl) Laufzeitwarnung (nicht schwerwiegender Fehler). Es wird nur eine Eingabeaufforderung angezeigt, das Skript wird jedoch nicht beendet.
  • E_PARSE (Ganzzahl) Syntax-Parsing-Fehler bei der Kompilierung. Parsing-Fehler werden nur vom Parser generiert.
  • E_NOTICE (Ganzzahl) Laufzeitbenachrichtigung. Zeigt an, dass das Skript auf eine Situation stößt, die möglicherweise als Fehler erscheint. Es kann jedoch auch zu ähnlichen Benachrichtigungen in Skripten kommen, die normal ausgeführt werden können.

Anzeigeebene im Code aktivieren und festlegen

ini_set()-Funktion

Für PHP können Sie verschiedene Anweisungen über die Datei php.ini festlegen. Aber manchmal müssen Sie Anweisungen festlegen, während das Skript ausgeführt wird. Dann benötigen Sie die Funktion ini_set(). php.ini 文件设置各种指令。但有时候需要在脚本运行时设置指令,那就需要 ini_set() 函数了。

string ini_set ( string $varname , string $newvalue )
Nach dem Login kopieren

设置指定配置选项的值。这个选项会在脚本运行时保持新的值,并在脚本结束时恢复。

例如:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'on');
Nach dem Login kopieren

error_reporting() 函数

error_reporting() 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。如果没有设置可选参数, error_reporting() 会返回当前的错误报告级别。

PHP7.2 的默认值为 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

<?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);
Nach dem Login kopieren

Legen Sie den Wert der angegebenen Konfigurationsoption fest. Diese Option behält ihren neuen Wert, während das Skript ausgeführt wird, und wird wiederhergestellt, wenn das Skript endet.

Zum Beispiel:

error_reporting = E_ALL # 报告所有错误
display_errors = On # 显示错误
Nach dem Login kopieren
error_reporting()-Funktion

error_reporting() Die Funktion kann die error_reporting-Direktive zur Laufzeit festlegen. PHP verfügt über viele Fehlerstufen. Mit dieser Funktion können Sie die Stufe festlegen, wenn das Skript ausgeführt wird. Wenn das optionale Argument nicht gesetzt ist, gibt error_reporting() die aktuelle Fehlerberichtsebene zurück.

Der Standardwert für PHP7.2 ist E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. 🎜🎜Es wird empfohlen, E_NOTICE während der Entwicklungsphase zu aktivieren, um mehr mögliche Fehler anzuzeigen. 🎜rrreee🎜🎜Ändern Sie die php.ini-Konfigurationsdatei🎜🎜rrreee🎜[Lernempfehlung: „🎜PHP-Video-Tutorial🎜“]🎜

Das obige ist der detaillierte Inhalt vonSo richten Sie die php.ini-Fehlerberichterstattung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage