Heim > Artikel > Backend-Entwicklung > PHP-Programmzugriffsbericht 500 Fehlerbehandlungsplan
Wir haben so viel über PHP gelernt. Ich frage mich, ob Sie die Syntaxfehler von PHP-Programmen vollständig beherrschen. Wenn nicht, dann folgen Sie diesem Artikel, um weiter zu lernen.
PHP-Programmsyntaxfehler verursacht
Szenario 1: Unser Projekt ist mit Alarmüberwachung ausgestattet (regelmäßiger Zugriff auf einen festen Link auf der Website alle 10 Minuten). Es gab eine Zeit, in der wir zwei- oder dreimal am Tag 500 Benachrichtigungen erhielten , aber wenn ich wieder manuell darauf zugreife, ist der Zugriff normal...Das dürfte der häufigste Fehler sein und auch Grammatikfehler können schnell wieder auftauchen. Solange die Fehlermeldung aufgedeckt wird, kann das Problem sofort behoben werden .
Wenn es sich um eine lokale Umgebung oder eine Testumgebung handelt, gehen wir normalerweise so vor, indem wir die Ausgabefehlermeldung im Programmeingang festlegen://error_reporting设置应该报告的错误,下面表示除了 E_NOTICE,报告其他所有错误 error_reporting(E_ALL ^ E_NOTICE); //输出错误 ini_set('display_errors', 1);
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 Problem in Szenario 1 haben wir später herausgefunden, nachdem wir es auf die oben beschriebene Weise in das Protokoll ausgegeben haben. Es lag daran, dass die MySQL-Verbindung ungewöhnlich getrennt wurde. Das Programm wurde weiterhin ausgeführt (es war normal, wenn eine Verbindung zu MySQL hergestellt wurde, 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( )
wurde verwendet). Der schwerwiegende Fehler wurde schließlich erfolgreich behoben.
mysqli_real_escape_string()
的地方)导致的fatal级报错,最终才顺利修复了。
场景二:有一次,一个同事说图片上传不上去了,一直报错500,之前还好好的,但没找出是什么问题,因为那块当时是我负责开发的,所以就过来找我,各种检查都没发现是什么问题,其它页面访问正常,本页面把代码全删除了再上传还是报错,找了很久最终才发现是磁盘满了o(╥﹏╥)o…
因磁盘空间不足,没有足够空间读写数据而导致的500报错极不常见,且不易及时发现。通常遇到500问题,很快想到的是程序错误,其实还有可能是磁盘空间不足了,如果在程序上为找到任何问题,可以查看下是否是磁盘空间不足问题哦~df -h
Die Festplatte ist voll und verursacht
df - h
Überprüfen Sie die Speicherplatznutzung
Für den HTTP-Anforderungsfehlerstatuscode ist 500 die übliche Erklärung: Gibt an, dass der Server einen Fehler festgestellt hat Fehler und konnte die Anfrage nicht abschließen (d. h. interner Serverfehler)
, aber bestimmte Probleme müssen im Detail analysiert werden🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonPHP-Programmzugriffsbericht 500 Fehlerbehandlungsplan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!