Hi!
1.) Die Datei "lock" sieht wie aus? Welches Format, welcher Inhalt?
nix, die Datei ist leer. Hast Du nix mit zu tun, PHP erstellt einfach ne leere Datei.
2.) Warum öffnest du die Counter-Datei zweimal und nicht nur einmal (mit "r+")?
Weiß ich gerade nicht, aber das ging glaube ich irgendwie nicht.
3.) Warum "schützt" das Sperren der Datei "lock" die Datei count.txt?
Das funktioniert nur wenn Du immer diese Datei "lock" sperrst, also immer so wie oben schreibend drauf zugreifst. Beim nur-lesen ist es egal. Alle anderen Requests müssen dann halt immer so lange warten bis die Sperre auf "lock" aufgehoben wurde, wenn sie in die Datei "count.txt" schreiben wollen. Wenn man die Datei count.txt sperren würde ändert das nichts daran dass theoretisch innerhalb von millisekunden 2 Prozesse den gleichen Wert aus count.txt lesen knnten, und zwar wenn nach fopen("count.txt") und noch vor flock ein anderer Prozess ebenfalls fopen("count.txt") versucht. Wobei, im Augenblick bin ich gar nicht mehr sicher ob das nötig ist, denn eigenlich sollte der Prozess der als 2. flock ausführt erst dann lesen können, wenn der LOCK des 1. Prozesses beendet wurde. Hm, vielleicht lag es doch daran das ein fopen("count.txt", "r+") nicht funktioniert und so der LOCK nicht während des ganzen Vorgangs aufrecht erhalten werden kann, bin mir da gerade nicht mehr so sicher... mit der "lock"-Datei ist es jedenfalls 100%ig.
Wenn du es nicht für komplett sinnlos hälst würde ich mich über deine Antworten freuen... :-)
Quatsch, wer vernünftig fragt bekommt ne vernünftige Antwort ;-)
Grüße
Andreas