Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Programmzugriffsbericht 500 Fehlerbehandlungsplan

PHP-Programmzugriffsbericht 500 Fehlerbehandlungsplan

慕斯
慕斯nach vorne
2021-06-28 11:24:524160Durchsuche

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);

Aber in einer Online-Umgebung ist es uns unmöglich, dies zuzulassen, da Benutzer es verwenden So nackt sein. Druckfehler, was soll ich 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 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 -hDie Festplatte ist voll und verursacht
PHP-Programmzugriffsbericht 500 Fehlerbehandlungsplan

Szenario 2: Einmal sagte ein Kollege, dass das Bild nicht hochgeladen werden könne und meldete ständig einen Fehler von 500. Vorher war alles in Ordnung, aber ich konnte es Da ich zu diesem Zeitpunkt für die Entwicklung dieses Artikels verantwortlich war, konnte ich bei verschiedenen Überprüfungen das Problem nicht erkennen Seite und habe es erneut hochgeladen, aber nach langer Suche habe ich endlich herausgefunden, dass es das Problem war Festplattenspeicher und unzureichender Speicherplatz zum Lesen und Schreiben von Daten sind äußerst selten und schwer rechtzeitig zu erkennen. Normalerweise denkt man beim Auftreten des Fehlers 500 zunächst an einen Programmfehler. Wenn Sie Probleme im Programm feststellen, kann dies auch der Fall sein Speicherplatz~ 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen