Hallo Eddi,
Ich bitte aber in jedem Fall, um eine kurze Rückmeldung unter Angabe der Serversoftware + Version (+ MPM wenn apache) und der PHP Version + SAPI. Danke :)
Also, bei mir scheint es zu funktionieren (auch wenn es mich verwirrt hat, dass ab nicht immer exakt die Anzahl an Requests absetzt, die gewünscht ist, sondern davon leicht abweicht - ich dachte zuerst, das liegt an Deinem Script).
Mein System ist ein AMD Athlon XP 2500+ auf einem nForce2-Board mit 512 MB PC266-DDR-SDRAM. Softwaremäßig läuft ein Gentoo-Linux mit 2005.0-Profile, GCC 3.3.5, GLibc 2.3.4-20041102-r1, Linux 2.6.11-gentoo-r4:
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r4 i686)
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
Als Apache läuft ein Apache 2.0.52-r1 (-r1 gibt an, dass da einige Gentoo-Patches drauf sind) - dieser läuft mit dem prefork-MPM, PHP läuft in der Version 4.3.10 (ich habe file_put_contents nachgerüstet, < http://de3.php.net/de/file_put_contents> <- die Funktion im ersten Kommentar).
Da flock() derzeit auf multi-threaded Servern, wie dem apachen mit dem MPM worker nicht sauber arbeitet, soll dieses Script bis zu einer besseren Lösung -durch PHP selbst- zumindest auf Linuxsystemen Abhilfe schaffen.
Wärst Du interessiert, Deine Lösung (wenn Du soweit bist) hier als Tipps&Tricks-Artikel bereitzustellen?
Viele Grüße,
Christian