so habe ich folgendes Problem. Ich habe eine Sitzungsklasse, die ihre Daten am Ende der Anforderungsausführung in der Datenbank speichern soll. Grundsätzlich, wenn es zerstört wird. Ich verwende Singleton-Muster in diesem Fall. Ich habe eine destructor wie folgt aus:PHP __destruct verursacht net :: ERR_CONNECTION_RESET register_shutdown_function ist nicht. Was ist der Unterschied?
public function __destruct()
{
$this->_save(); // _save is public
// exit('I can reach this point with no error');
}
Aber mit diesem Code bekomme ich net :: ERR_CONNECTION_RESET aus Chrom und anderen Browsern. Wenn ich den destructor Kommentar aus und legen diese in Konstruktor:
register_shutdown_function(array($this, '_save'));
Die _save Methode keine Ausnahmen Rückkehr wird, wenn ich es direkt aufrufen.
Alles funktioniert gut. Was könnte falsch sein und warum?
Danke!
Nun, Sie müssen die Fehlerprotokollierung aktivieren, um herauszufinden, ob in dieser _save-Funktion tatsächlich ein schwerwiegender Fehler auftritt. Wenn Sie es nicht tun, ist es schwer zu sagen, was den Verbindungs-Reset auslöst. Ich nehme an, es ist ein PHP-Fehler in der Shutdown-Phase. – hakre