
Server: Ubuntu 14.04lts nginx(v1.10)-Server zeigt älteren Inhalt an, wenn ich die Datei bereits geändert habe. Die Änderungen sind nach 3-6 Minuten sichtbar. Das Stammverzeichnis des Dokuments wird von einer NFS-Freigabe gemountet. Die Änderungen in der Datei sind sichtbar, wenn ich cat
die Datei sofort lese, aber im Browser sind sie nicht sichtbar. Ich habe auch versucht, Nginx Sendfile zu deaktivieren, aber das Verhalten ist zufällig, manchmal ist die Änderung sichtbar und manchmal zeigt es ein älteres PHP-Ergebnis.
Hinweis: Ich habe den Browser-Cache geleert und phpopcache ist deaktiviert. Die durchschnittliche Latenz zwischen NFS und Nginx beträgt weniger als 0,3 ms. Es wird kein Caching-Server/Client durchgeführt.
unten sind meine NFS-Mount-Optionen auf der Clientseite
mount -t nfs
10.10.17.45:/www/public_html on /www/public_html type nfs (rw,noatime,nolock,bg,intr,tcp,actimeo=1800,addr=10.10.17.45
unten ist export conf im NFS-Server
/www/public_html 10.10.17.40(rw,fsid=0,async,no_root_squash,no_subtree_check)
zum Beispiel: - Ich habe eine Datei showme.php
mit dem folgenden Inhalt
<?php $var1="abc" echo $var1; ?>
und wenn ich es ändere in
<?php $var1="xyz" echo $var1; ?>
Dies wird nicht im Browser angezeigt
Antwort1
Abhängig von der PHP-Version und Ihren Einstellungen für PHP-FPM handelt es sich wahrscheinlich um ein Problem mit dem Zwischenspeichern/Kompilieren Ihrer PHP-Datei durch PHP und der anschließenden Aktualisierung, wenn einer der FPM-Prozesse nach der Bearbeitung der maximalen Anzahl von Anfragen beendet wird. Sie können immer einfach Folgendes tun:
sudo service php-fpm restart
oder
sudo systemctl restart php-fpm
Um den Dateiwechsel sofort wahrzunehmen.