Heim > Backend-Entwicklung > PHP-Problem > So öffnen Sie das Fehlerprotokoll in PHP

So öffnen Sie das Fehlerprotokoll in PHP

王林
Freigeben: 2023-03-08 14:48:01
Original
4900 Leute haben es durchsucht

So öffnen Sie das Fehlerprotokoll in PHP: 1. Öffnen Sie die Konfigurationsdatei php.ini, suchen Sie die Option „log_errors“ und ändern Sie den Wert dieser Option von „Aus“ auf „Ein“. 2. Verwenden Sie die Funktion ini_set(), um die PHP-Datei mit der Syntax „ini_set(“log_errors“, „On“);“ zu ändern.

So öffnen Sie das Fehlerprotokoll in PHP

Die Betriebsumgebung dieses Artikels: Windows10-System, PHP8, Thinkphp T480-Computer.

Fehlerprotokoll aktivieren, PHP bietet zwei Methoden.

Methode 1: Ändern Sie die php.ini-Datei

Nehmen Sie einfach die folgenden Änderungen in der php.ini-Konfigurationsdatei vor:

1. error_reporting  =  E_ALL    #将会向PHP报告发生的每个错误
2. display_errors = Off    #不显示满足上条 指令所定义规则的所有错误报告,设置成off发生错误时,浏览器报500,不显示具体错误(具体错误不会输出到浏览器上,用户也就看不到。会写到第5步的错误文件中,非正式环境全设置成on更方便) 
3. log_errors = On    #开启错误日志  
4. log_errors_max_len = 1024    #设置每个日志项的最大长度  
5. error_log =/usr/local/error.log    #指定产生的 错误报告写入的日志文件位置
Nach dem Login kopieren

Nachdem die PHP-Konfigurationsdatei wie oben festgelegt wurde, starten Sie den Webserver neu. Auf diese Weise werden beim Ausführen einer beliebigen PHP-Skriptdatei alle generierten Fehlerberichte nicht im Browser angezeigt, sondern im von Ihnen angegebenen Fehlerprotokoll /usr/local/error.log aufgezeichnet.

Darüber hinaus können nicht nur alle Fehler, die den durch error_reporting definierten Regeln entsprechen, aufgezeichnet werden, sondern auch die Funktion error_log() in PHP verwendet werden, um eine benutzerdefinierte Fehlermeldung zu senden und in das error_log zu schreiben. Oder wenn ein Fehler absichtlich auftritt, wie zum Beispiel beim Ausführen von echO, wird der ausgelöste Fehler in das Fehlerprotokoll von PHP geschrieben.

Methode 2: Verwenden Sie die Funktion ini_set()

ini_set("log_errors", "On");//开启错误日志
ini_set("display_errors", "On");//打开错误提示
ini_set("error_reporting", E_ALL);//显示所有错误
Nach dem Login kopieren

PHP ini_set wird verwendet, um den Wert von php.ini festzulegen, der wirksam wird, wenn die Funktion ausgeführt wird. Nach Beendigung des Skripts wird die Einstellung ungültig. Sie können die Konfiguration ändern, ohne die Datei php.ini zu öffnen, was für virtuelle Räume sehr praktisch ist.

Erweiterte Kenntnisse:

Zu den Fehlerstufen gehören:

E_ALL                  - 所有错误和警告(包括PHP 5.4.0中的E_STRICT)
E_ERROR                - 致命的运行时错误
E_RECOVERABLE_ERROR    - 几乎致命的运行时错误
E_WARNING              - 运行时警告(非致命错误)
E_PARSE                - 编译时解析错误
E_NOTICE               - 运行时通知(这些通常是警告,从您的代码中的错误,但它可能是故意的(例如,使用未初始化的变量和赖于它自动初始化为一个事实空字符串)
E_STRICT               - 运行时通知,允许PHP建议更改您的代码将确保最佳的互操作性,并转发代码的兼容性
E_CORE_ERROR           - PHP初始启动期间发生的致命错误
E_CORE_WARNING         - PHP期间发生的警告(非致命错误),初次启动
E_COMPILE_ERROR        - 致命的编译时错误
E_COMPILE_WARNING      - 编译时警告(非致命错误)
E_USER_ERROR           - 用户生成的错误消息
E_USER_WARNING         - 用户生成的警告消息
E_USER_NOTICE          - 用户生成的通知消息
E_DEPRECATED           - 警告代码在将来的PHP版本中不起作用
E_USER_DEPRECATED      - 用户生成的弃用警告
Nach dem Login kopieren

Die häufigsten Kombinationseinstellungen von error_reporting:

E_ALL (显示所有错误,警告和通知,包括编码标准。)
E_ALL & ~E_NOTICE  (显示所有错误,通知除外)
E_ALL & ~E_NOTICE & ~E_STRICT  显示所有错误,通知和编码标准警告除外。)
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (仅显示错误)
Nach dem Login kopieren

Verwandte Empfehlungen: php-Tutorial

Das obige ist der detaillierte Inhalt vonSo öffnen Sie das Fehlerprotokoll in PHP. 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