PHP5: __destruct() wird 2 mal aufgerufen?

steff aka sId

Erfahrenes Mitglied
Vorweg hab mit PHP5 noch net soviel Erfahrung aber ich hab hier was was mich sehr verwundert. Eigentlich hatte ich deine Datenbankklasse geschrieben und bei der sollte im Dekonstruktor die SQL Verbindung geschlossen werden. Nun das Problem ist das der Dekonstruktor anscheind bei mir immer 2 mal aufgerufen wird warum auch immer jedoch eine Datenbankverbindung nur einmal geschlossen werden kann. Nun denn zur Veranschaulichung meines Problems:
Code:
<?php
class Test {
 function __construct(){
         print "Konstruktor aufgerufen<br>";
}

function __destruct(){
         print "Dekonstruktor aufgerufen<br>";
}
}

$test = new Test();
?>
Ausgabe:
Code:
Konstruktor aufgerufen
Dekonstruktor aufgerufen
Dekonstruktor aufgerufen

Hoffe es kann mir jemand dabei weiter helfen.
Gruß Steff
 
Zuletzt bearbeitet:
destruct ist natürlich richtig *g* hab ich mich vertippet gehabt. Zur Php Version ich benutze auch 5.0.4 auf nem Linux Laptop. Gruß Steff
 
Ne ich hatte das bei mir ja richtig aber ich arbeite aufem laptop und bin aufem andern Rechner im Inet deshalb hab ich das neu getipped. Ich hab was gefunden aber bei dem Link den du gepostet hast das könnte daran liegen:

Note: Destructor is called during the script shutdown so headers are always already sent.

und weiter unten stand noch folgendes:

It looks like `echo()`ed output from the __destructor() function is displayed onto screen _before_ other output that the class may have have already sent before.

Gruß Steff
 
So hab das Problem dadurch behoben das ich das Output_buffering deaktiviert habe. Hatte das mal irgendwann angeschaltet um irgend etwas zu probieren.
Gruß Steff
 
Zurück