
我目前正在使用 APC 和 PHP FPM 來快取數百個 Wordpress 網站。有了 2gig 緩存,一切都運作良好,但效率不是很高,而且緩存總是已滿。
例如,如果我在同一台伺服器上有 200 個 WordPress 站點,並且都具有相同的版本,那麼它將快取 200 個相同的 wp-db.php 檔案。
我似乎記得幾年前關於它如何成為安全風險的討論。我懷疑這不再是一個問題(尤其是 PHP FPM),但無論如何我控制所有網站,所以好處大於任何缺點。
近年來這種情況有改變嗎?尤其是新的預設 Zend Opcache?像符號連結這樣的駭客攻擊並不理想,例如您無法一次升級 500 個站點,因此它有時會嚴重崩潰。
答案1
這是部分回應,因為我沒有使用 zend 操作碼遇到過這種情況。
上次我使用 apc 時,這個功能讓我覺得是一個 bug,從來沒有把它看作一個功能:-)。如果您將chroot
-ed 池與 php-fpm 一起使用,並且所有池在 chroot 中具有相同的相對路徑,那麼它們在 apc 中共享相同的快取鍵。由於金鑰是完整的絕對檔案路徑,且在 chroot 中,此檔案路徑不能包含該部分前chroot。
所以你可以用 chroot 試試。但這意味著幾個技巧:
- chroots 應包含 php 可能需要的所有元素(暫存目錄、/etc/hosts、某些裝置)
- php 郵件無法正常運作,應在 smtp 模式下使用
- 有些文件應該從快取中排除,所有包含設定的文件,如果你忘記了這一點,網站將會變得混亂!
- 也許還有其他一些,chroot 從來都不簡單