nginx/phpfpm 給出較舊的 php 檔案結果

nginx/phpfpm 給出較舊的 php 檔案結果

伺服器:ubuntu 14.04lts nginx(v1.10) 伺服器在我已經更改檔案時顯示較舊的內容,3-6 分鐘後即可看到更改。文檔根目錄是從nfs共用掛載的。當我立即讀取/文件時可以看到文件中的更改,cat但在瀏覽器上看不到相同的更改。我還嘗試停用 nginx sendfile,但行為是隨機的,有時可以看到更改,有時顯示較舊的 php 結果。

注意:我已經清除了瀏覽器快取並且禁用了 phpopcache,nfs 和 nginx 之間的平均延遲小於 0.3 毫秒。沒有緩存伺服器/客戶端

下面是我在客戶端的 nfs 掛載選項

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

下面是nfs伺服器中的匯出conf

/www/public_html 10.10.17.40(rw,fsid=0,async,no_root_squash,no_subtree_check)

例如:- 我有一個名為showme.php以下內容的文件

<?php $var1="abc" echo $var1; ?> 

如果我把它改成

<?php $var1="xyz" echo $var1; ?> 

這不會反映在瀏覽器上

答案1

根據 php 的版本以及 php-fpm 的設置,這可能是 PHP 快取/編譯 PHP 檔案的問題,然後當 FPM 進程之一在服務最大數量的請求後終止時刷新它。您始終可以:

sudo service php-fpm restart

或者

sudo systemctl restart php-fpm

立即取得文件更改。

相關內容