Dieser Artikel stellt die PHP-Fehlerbehandlung im Entwicklungsmodus und im Produktmodus anhand von Beispielcode vor. Er ist sehr gut und hat Referenzwert.
Programmfehlerberichte sind immer vorhanden unvermeidlich, auch wenn wir beim Schreiben des Codes besondere Sorgfalt walten lassen.
Bei der Entwicklung von PHP-Programmen hoffen wir, dass PHP-Fehler so schnell wie möglich angezeigt werden können, um das Debuggen zu erleichtern. Wenn das Programm entwickelt wird und zu einem formalen Produkt wird, hoffen wir, unerwartete Fehlermeldungen im Fehlerprotokoll aufzuzeichnen, anstatt diese Fehlermeldungen den Benutzern anzuzeigen, da Benutzer diese höchstwahrscheinlich verwenden, um Skriptpfade, Datenbankinformationen oder andere Fehlermeldungen offenzulegen deuten auf zerstörerische Hackerangriffe hin.
Die Fehlerbehandlungsmethode von PHP basiert auf den folgenden Konfigurationsoptionen. Diese Konfigurationen können im Code deklariert oder in der Datei php.ini festgelegt werden. Wenn Sie diese Konfigurationen nicht häufig ändern müssen, empfiehlt es sich, sie in der Datei php.ini festzulegen, um Ihren Code sauberer und prägnanter zu gestalten.
# 是否打印错误信息到浏览器/命令行界面# 开发模式下建议开启,产品模式下强烈建议关闭ini_set('display_errors', 'On');# 是否记录错误信息到日志# 开发模式和产品模式下都建议开启ini_set('log_errors', 'On');# 指定错误信息日志文件,若开启了 log_errors 选项,记得指定日志文件位置# 要确保执行 php 脚本的系统用户拥有该文件的 write 权限,否则日志无法被写入ini_set('error_log', '/usr/local/php/errors.log');# 该选项用以设定错误报告的等级# 等同于 error_reporting(E_ALL) # 无论开发模式还是产品模式下都建议开到E_ALL(报告所有的错误信息)# 产品模式下也需要设置此选项,因为关闭了 display_errors 并开启了 log_errors# 所以浏览器/命令行界面不会因此暴露报错信息ini_set('error_reporting', E_ALL);
Darüber hinaus stellt PHP Entwicklern auch integrierte Funktionen zur Aufzeichnung benutzerdefinierter Fehlerinformationen in der Fehlerprotokolldatei im Code zur Verfügung:
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )
Sendet eine Fehlermeldung an das Fehlerprotokoll des Webservers oder an eine Datei.
Der erforderliche Parameter ist message
. Durch Aufrufen dieser Funktion wird message
in das in php.ini
🎜> definierte error_log
Das obige ist der detaillierte Inhalt vonPHP-Fehlerbehandlung im Entwicklungsmodus und Produktmodus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!