php 500 Keine Ausgabe Kein Fehler gemeldet Bitte sagen Sie mir, wie ich den Fehlercode schnell finden kann.
Keine Ausgabe, kein Fehler und das Protokoll ist normal.
Lassen Sie es mich umformulieren (eine mittlere bis fortgeschrittene Interviewfrage):
Online-Code, keine Ausgabe, kein Fehler, Protokolle sind normal, LNMP SERVER 500-Fehler, bitte sagen Sie mir, wie ich den Fehlercode schnell finden kann.
php 500 Keine Ausgabe Kein Fehler gemeldet Bitte sagen Sie mir, wie ich den Fehlercode schnell finden kann.
Keine Ausgabe, kein Fehler und das Protokoll ist normal.
Lassen Sie es mich umformulieren (eine mittlere bis fortgeschrittene Interviewfrage):
Online-Code, keine Ausgabe, kein Fehler, Protokolle sind normal, LNMP SERVER 500-Fehler, bitte sagen Sie mir, wie ich den Fehlercode schnell finden kann.
Universeller Code:
<code>register_shutdown_function(function(){ var_dump(error_get_last()); });</code>
Der Poster muss jedoch noch lernen, das Fehlerprotokoll zu überprüfen.
Es stellt sich heraus, dass es sich um eine Interviewfrage handelt. . . .
Ob es ein Protokoll gibt;
Phänomene des Fehlers: ob er bei der angegebenen Person oder bei allen Anfragen auftritt, ob er vorher oder zum ersten Mal auftritt, die Auslastung des Servers, insbesondere des Datenbankservers, ob der Fehler auftreten kann reproduziert;
Ob der Code kürzlich veröffentlicht wurde und ob die Online-Infrastruktur geändert wurde;
Gab es schon einmal ähnliche Vorfälle?
500 ist ein interner Serverfehler. Sie können überprüfen, ob PHP-FPM nicht reagiert und ob der PHP-FPM-Prozess normal ist. Schauen Sie sich zweitens den relevanten Code an: ob er auf externen Anforderungen basiert, ob Rechtschreibfehler in Dateinamen vorliegen, ob Datenbankabfragen mit geringer Leistung vorliegen und ob eine fehlerhafte Logikverarbeitung vorliegt
Abschließend, nachdem das Problem behoben wurde, verbessern Sie die Protokollinformationen. Sagen Sie mir nicht, dass es kein Protokoll für diese Angelegenheit gibt. Überprüfen Sie außerdem, ob der Testprozess abgeschlossen ist und verbessert werden muss, damit er beim nächsten Mal nicht noch einmal wiederholt werden muss.
Installieren Sie die Erweiterung xdebug
und sehen Sie sich Ihre Fehlerprotokolle an.
Sie können den Fehler sowie Zitate und andere Informationen lokalisieren. Es wird dringend empfohlen.
Wenn Windows einige integrierte Umgebungen verwendet, werden meiner Erfahrung nach im Fehlerprotokoll keine Fehlermeldungen wie Speicherüberlauf und andere Fehler angezeigt. (Browser wie Chrome sagen Ihnen HTTP 500 direkt anstelle einer Fehlermeldung oder eines weißen Bildschirms)
Serverfehlerprotokoll anzeigen
Wenn Sie sich in der Entwicklung befinden, ändern Sie die Konfiguration des Dienstes und der Fehler wird direkt angezeigt
ini_set('display_errors','On');
Sehen Sie sich das PHP-Fehlerprotokoll an und lokalisieren Sie das Problem sofort
<code>strace -p pid </code>
strace wird häufig verwendet, um Systemaufrufe und Signale zu verfolgen, die während der Prozessausführung empfangen werden. In der Linux-Welt können Prozesse nicht direkt auf Hardwaregeräte zugreifen (z. B. zum Lesen von Festplattendateien, zum Empfangen von Netzwerkdaten usw.), müssen sie vom Benutzermodus in den Kernelmodus wechseln und über das System auf Hardwaregeräte zugreifen Anrufe. strace kann von einem Prozess generierte Systemaufrufe verfolgen, einschließlich Parameter, Rückgabewerte und Ausführungszeit.
<code>pstack </code>
zeigt Stack-Traces für jeden Prozess an. Der pstack-Befehl muss vom Eigentümer oder Root des entsprechenden Prozesses ausgeführt werden. Sie können pstack verwenden, um festzustellen, wo ein Prozess hängt. Die einzige Option, die dieser Befehl zulässt, ist die PID des zu überprüfenden Prozesses.