Hello,
sind eigentlich Probleme zu erwarten wenn man auf eine bereits geöffnete Datei,
auf die mit flock Exclusivzugriff erhalten wurde,
file_put_contents anwendet?
Probleme auf jeden Fall.
- Wer hat die Datei im Zugriff (und gesperrt)?
- Welches OS aka Filesystem liegt drunter?
Soweit mit für PHP < 7.x bekannt ist, prüft ein einfaches file_put_contents() das advisory Locking nicht. Es würde also einfach reinschreiben in den anderen Vorgang und damit die Probleme verursachen.
Nun kommt Teil 2 der Antwort:
Über die Flags der Funktion kann man ein LOCK_EX anfordern. Damit müsste ein Schreiben mittels file_put_contents() dann also mit einem false
quittiert werden, also nicht geschrieben werden. Und wenn man dann error_get_last() abfragt, könnte darin eventuell die Ursache stehen. Das weiß ich aber nicht, weil ich keine verbastelten namensbasierten Funktionen für Dateizugriffe verwende, wenn es doch sauber organisierte handlebasierte gibt.
Liebe Grüße
Tom S.
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.