Ich verwende Grav CMS auf einem Linode Ubuntu 16.04 Server, wobei PHP7 (php-fpm + nginx) zwischengespeicherte Ergebnisse zurückgibt, wenn Verzeichnisinhalte aufgelistet werden. Ich habe zuerst das Problem mit FilesystemIterator
, aber es ist nicht auf diese Klasse beschränkt - das gleiche Problem tritt auf, wenn ich scandir
verwenden.PHP listet Dateien auf, die nicht existieren
Im Grunde, was passiert, ist, dass jedes Mal, wenn ich neue Inhalte auf dem Server synchronisieren, ob ich rsync oder FTP verwenden, PHP werden die alten Inhalte eines bestimmten folder.I've zurückzukehren versucht clearstatcache
nennen, aber es hat nicht geholfen - auch wenn ich es aus der entsprechenden PHP-Datei aufgerufen habe, kurz bevor ich das Verzeichnis durchsucht habe.
touch
'die Dateien zu aktualisieren ihre mtime hilft auch nicht. Der Neustart des php-fpm-Dienstes funktioniert jedoch.
Ist es möglich, dass PHP den Inhalt des Verzeichnisses auf andere Weise zwischenspeichert? Könnte es das Dateisystem sein, das PHP irgendwie täuscht?
Schauen Sie in der nginx.conf und stellen Sie sicher, sendfile, ist auf aus gesetzt. –