nginx/phpfpm gibt älteres PHP-Dateiergebnis zurück

nginx/phpfpm gibt älteres PHP-Dateiergebnis zurück

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 catdie 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.phpmit 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.

verwandte Informationen