2017-03-07 3 views
1

Ich versuche, ein PHP-Skript zu debuggen, die lange dauern könnte, und '504 Gateway Time-out' (läuft auf nginx mit fastcgi-php5-fpm, installiert mit Ubuntu offiziellen Paketen).php error_log Nachrichten verloren beim Timeout

Wenn Timeout auftritt - php error_log Nachrichten werden nicht in der Datei error.log protokolliert.

Wie kann ich das Skript debuggen - oder zumindest irgendwelche Protokolle aus dem Skript bekommen?

Ich habe versucht, flush(), es nur stdout zum Client-Browser zu spülen, nicht stdlog in die Protokolldatei.

ein einfaches Skript, um die Situation zu demonstrieren:

error.php:

<?php 
error_log("error occured!"); 
while(true){} 
?> 

EDIT:

Finnaly habe ich schrieb die Protokolle in einer Datei

file_put_contents($filename, $message.'\n', FILE_APPEND); 
mit

aber es löst nicht das Problem in Frage - error_log wird nicht geschrieben, wenn php beendet fo Zeitüberschreitung

Antwort

0

Schließlich habe ich schrieb die Protokolle in einer Datei

file_put_contents($filename, $message.'\n', FILE_APPEND); 

verwenden, aber es das Problem in Frage nicht lösen - error_log nicht geschrieben wird, wenn PHP für Timeout beendet.