Hi Felix,
In den User-Comments zu ignore_user_abort() hat jemand veröffentlicht, wie er mit einem socket eine neue Resource anfordert, und so einen zusätzlichen thread erzeugt. Muss das mal studieren. Mit diesen socket-Sachen bin ich absolut nicht der Held.
Sockets dienen zur Kommunikation von Prozessen unter Linux - das brauchst du hier so wie ich das sehe nicht. Meines Erachtens hast du hier zwei Möglichkeiten:
-
Das PHP-Script forked sich, so dass du dann zwei PHP-Prozesse hast, der erste geht einfach zu Ende und der zweite arbeitet unabhängig vom User noch weiter. Mathias hat dir den Link meines damaligen Threads schon gepostet - im zweiten Thread dazu ist auch mein komplettes Script veröffentlicht. Allerdings geht diese Methode nur, wenn die PHP-Extension pcntl installiert wurde, dafür lernst du aber mal was richtiges[tm] ;-)
-
Die vielleicht schnellere Methode wäre mal ein fclose(STDIN); fclose(STDOUT); fclose(STDERR); auszuprobieren - wenn du Glück hast ist für den Apache der PHP-Prozess damit fertig und der Apache schließt die Verbindung.
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Patch zur Verwendung von PATHINFO in JLog
Das Denken ist zwar allen Menschen erlaubt, aber vielen bleibt es erspart. (Curt Goetz)