Heim >Backend-Entwicklung >PHP-Problem >PHP meldet Fehler 500 beim Aufruf seiner eigenen Methode
Für den HTTP-Anforderungsfehlerstatuscode 500 lautet die übliche Erklärung: Dies bedeutet, dass auf dem Server ein Fehler aufgetreten ist und die Anforderung nicht abgeschlossen werden konnte (dh ein interner Serverfehler), das spezifische Problem jedoch im Detail analysiert werden muss.
PHP-Programmsyntaxfehler führt zu
Szenario 1: Unser Projekt ist mit Alarmüberwachung eingerichtet (geplant alle 10 Minuten Besuchen Sie einen festen Link auf der Website). 🎜> PHP-Programmierung vom Einstieg bis zur Beherrschung Dies dürfte der häufigste Fehler sein, der auch schnell wieder auftauchen kann, wenn die Fehlermeldung aufgedeckt wird.
Wenn es in einer lokalen oder Testumgebung ist, gehen wir normalerweise so damit um. Legen Sie einfach die Ausgabefehlermeldung im Programmeingang fest:
//error_reporting设置应该报告的错误,下面表示除了 E_NOTICE,报告其他所有错误 error_reporting(E_ALL ^ E_NOTICE); //输出错误 ini_set('display_errors', 1);
Aber in einer Online-Umgebung, weil Benutzer Wenn Sie es verwenden, können wir nicht zulassen, dass wir solch eklatante Druckfehler machen. Was sollen wir tun? Sie können die Fehlerausgabe in der Protokolldatei in der Programmeintragsdatei festlegen. Der spezifische Code lautet wie folgt:
error_reporting(E_ALL ^ E_NOTICE); //禁止把错误输出到页面 ini_set('display_errors', 0); //设置错误信息输出到文件 ini_set('log_errors', 1); //指定错误日志文件名 $error_dir = '/logs/err/'; $error_file = $error_dir . date('Ymd').'.log'; //目录不存在就创建 if (!is_dir($error_dir)){ mkdir($error_dir, 0777, true); } //文件不存在就创建之 if(!file_exists($error_file)){ $fp = fopen($error_file, 'w+'); if($fp){ fclose($fp); } } //设置错误输出文件 ini_set("error_log", $error_file); //程序正常执行逻辑......
Das gerade erwähnte Problem in Szenario 1 wurde später entdeckt, als wir es im selben Protokoll ausgab So wie oben. Es lag daran, dass die Verbindung zu MySQL ungewöhnlich getrennt wurde und das Programm weiterhin ausgeführt wurde (das war beim Herstellen einer Verbindung zu MySQL normal, aber beim Aufrufen der spezifischen Abfragemethode wurde ein Fehler gemeldet. Ich erinnere mich, dass es dort zu sein schien, wo die Methode mysqli_real_escape_string war () verwendet wurde). Dies führte zu einem schwerwiegenden Fehler, der schließlich erfolgreich behoben wurde.
Das obige ist der detaillierte Inhalt vonPHP meldet Fehler 500 beim Aufruf seiner eigenen Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!