Heim > Backend-Entwicklung > PHP-Tutorial > 500 - php 500 Keine Ausgabe, kein Fehler gemeldet. Wie kann ich den Fehlercode schnell finden?

500 - php 500 Keine Ausgabe, kein Fehler gemeldet. Wie kann ich den Fehlercode schnell finden?

WBOY
Freigeben: 2016-08-04 09:20:20
Original
1418 Leute haben es durchsucht


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.

Antwortinhalt:


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>
Nach dem Login kopieren

Der Poster muss jedoch noch lernen, das Fehlerprotokoll zu überprüfen.

Es stellt sich heraus, dass es sich um eine Interviewfrage handelt. . . .

  1. Ob es ein Protokoll gibt;

  2. 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;

  3. Ob der Code kürzlich veröffentlicht wurde und ob die Online-Infrastruktur geändert wurde;

  4. Gab es schon einmal ähnliche Vorfälle?

  5. 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

  6. ;

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
Der Befehl

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage