亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Nginx or php-fpm程式碼檔案緩存
伊謝爾倫
伊謝爾倫 2017-05-16 17:14:57
0
3
1006

我遇到的問題:

Nginx設(shè)定A專案的root目錄是a,a目錄軟鏈到a1。
後來發(fā)布新程式碼後,會產(chǎn)生和a1同級的a2,a目錄也指到了a2,但在存取A專案的時候,運行的還是a1的程式碼運行結(jié)果,理論上此時應(yīng)該執(zhí)行的是a2程式碼才對。
甚至把a1目錄刪了,報錯內(nèi)容都還是a1目錄裡的某部分程式碼不對。

懷疑是Nginx,或是php-fpm將程式碼檔案快取起來了?
OPCache,還是Nginx,php-fpm哪裡設(shè)定的問題嗎?
求大神解答。

伊謝爾倫
伊謝爾倫

小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。

全部回覆(3)
洪濤

看你的描述,我估計問題出在opcache上。
這里nginx應(yīng)該是把目錄a作為路徑傳遞到了php-fpm中(通常的配置是這樣的),
opcache也是以路徑作為緩存代碼的Key,
所以說雖然軟連接指向的目錄改變了,但是opcache辨識到的目錄是一樣的,所以使用了直接快取的檔案。

建議在開發(fā)環(huán)境中,不要開啟程式碼緩存,因為目前opcache還不能每次都檢查檔案是否更新,只能透過函數(shù)或設(shè)定更新時間來更新。

大家講道理

php.ini裡配置:

opcache.validate_timestamps=1
opcache.revalidate_freq=0

opcache會每次都驗證PHP檔案的修改時間戳,如果PHP檔案被修改過,opcache會重新快取新的PHP檔案opcode到記憶體.

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板