Hello,
na jedenfalls scheinst Du gar nicht zu wissen, warum ich genauer nachfrage.
PHP hat zwar seit irgendwann in der 4er-Version einen Benutzungszähler für Ressourcen und eine "garbage collection ähnlich JAVA", aber es gibt keine Aussage darüber, wann der Garbage Collector denn genau greift.
Da das aber das gesamte Programmverhalten beeinflussen kann, gebe ich mich nicht mit einem
"Du erzählst, im Hinblick auf PHP, an dieser Stelle ebenfalls Unsinn."
abspeisen. Auch Christians Erklärungen gehen in keiner Weise auf die tatsächliche Funktionsweise ein. Im Web sind Dutzende von Alarmrufen zu finden, in denen ein "Lost Handle" die Ursache war, und das neueren in PHP5-Versionen (nicht allerdings PHP 5.3, das hat wohl noch keiner im Produktiveinsatz).
Ich habe eine zeitlang nichts anderes zu tun gehabt, als PHP-Sxcripts auf derartige "Schlampigkeiten" zu untersuchen und die zu korrigieren. Und der Witz an der Sache ist, dass die einschläfernden Programme nach der Behandlung plötzlich keine Probleme mehr gemacht haben.
Es ist äußerst relevant, wann und wodurch die Bindung an die Ressource tatsächlöich ordentlich gelöst wird. Es hat Einfluss auf das Zurückschreiben Von Daten aus den Buffers in das File und auf das Locking. Wenn der Garbage Controller sich da auch nur eine Sekunde mehr Zeit lässt, als notwendig wäre, dann bekommt Du damit eine ganze Community zum Stehen!
Und diese Diskussion gehört durchaus in dieses Forum.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
