Einzelnen Beitrag anzeigen
  #53  
Alt 02.03.2006, 03:25:03
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: fopen() ohne Überschreiben

Zitat:
Zitat von sysop
das würde bedeuten, dass unter php niemals ein zeitgleicher zugriff möglich wäre, da php serverseitig arbeitet und da sollte es dann ja nur eine cpu zugreifen (sprich alles sequentiell abgearbeitet werden).
Das Problem ist, daß dabei nicht das komplette Script in einem Arbeitsgang abgearbeitet wird.

Zitat:
zum thema flock, man kann das file ja unterschiedlich verriegeln:
fopen und flock wird nicht in einem Arbeitsgang erledigt. Es gibt dabei einen mehr oder weniger kleinen Zeitbereich zwischen fopen und flock. File offen aber noch nicht geLOCKt. Und weil niemand genau wissen kann, was in diesem kurzen Zeitbereich passiert - Logfile schreiben, email verteilen, mysqld etwas arbeiten lassen, der Apache schickt ein anderes Script zu PHP - sollte man sich schlicht und einfach nicht darauf verlassen.

Zitat:
startet eine neue instanz des apaches auch eine neue php instanz ?
Das sollte mehr beachtet werden:
Zitat:
Bei einigen Betriebssystemen ist flock() auf dem Prozesslevel implementiert. Wenn Sie ein multithreaded Server API wie ISAPI benutzen können Sie sich nicht auf flock() verlassen, um Dateien vor anderen PHP-Skripten zu schützen, welche in parallelen Threads der gleichen Server-Instanz laufen!
Mit Zitat antworten