2010-09-07 41 views
3

好吧,情況是我有多個php站點都使用相同的CMS在同一臺服務器上運行。站點之間的CMS的核心代碼或模塊沒有任何變化,因此希望所有站點都使用相同的代碼存儲庫,以便更容易地保持運行相同版本的所有站點。如何使用相同的APC緩存運行多個PHP站點?

這部分很容易做到使用符號鏈接,但理想情況下,我希望這些文件只能由APC緩存一次,因此核心代碼已經爲所有網站緩存。

設置是PHP 5.2,APC,apache。

不太瞭解APC我猜路徑是從符號鏈接完成的,所以它們在站點之間顯示爲不同的文件。在我上一份工作中使用CMS時,它使用指針文件來包含主代碼,但希望避免這種情況,因爲它很混亂,並且使其難以維護。另一個問題是不同的網站是否可以使用相同的緩存,在查找這個問題時,我注意到fastcgi無法在進程之間共享的問題。

任何幫助將不勝感激。

+0

我不確定你可以緩存一次,讓APC使用該緩存,因爲正如你所說,由於不同的基本路徑,它們顯示爲不同的文件。如果不是符號鏈接,而是絕對使用它們的完整cms目錄來包含它們呢? include'/path/to/cmslibrary/core.php' – Fanis 2010-09-08 07:12:17

+0

我認爲通過使用指針文件,主網站中的文件包含每個相關文件,但cms本身大約有100個文件,加上更多的任何模塊用過的。爲了使cms本身正常工作,文件需要以某種方式物理地位於主站點的子目錄中。我認爲這是不可能的,恥辱,因爲如果是這樣,它會很好。目前在VPS上運行,所以內存是有限的。 – Conrad 2010-09-17 01:27:50

+1

對於任何感興趣的人,我不認爲這是必要的,當緩存文件時,它會調用lstat,從而給出文件的真實完整路徑,忽略任何虛擬目錄,因此無論如何應該正確緩存。 – Conrad 2011-02-03 20:16:48

回答

0

我認爲通過使用指針文件,主網站中的文件包含每個相關文件,但cms本身大約有100個文件,加上更多用於任何模塊。爲了使cms本身正常工作,文件需要以某種方式物理地位於主站點的子目錄中。我認爲這是不可能的,恥辱,因爲如果是這樣,它會很好。目前在VPS上運行,所以內存是有限的。

相關問題