2016-01-18 42 views
0

是否可以將PHP會話文件存儲在由多個實例共享的磁盤上?這樣,用戶可以將請求發送到不同的服務器,並且他將擁有相同的會話數據。將PHP會話存儲在共享磁盤中

這種方法的缺點或風險是什麼? (我知道這不能很好地擴展,並且存在性能問題,但是我們假設性能和可伸縮性在這個階段並不重要)

+0

使用memcached或類似的東西 – Gavriel

+0

http://eddmann.com/posts/storing-php-sessions-file-caches-in-memory-using-tmpfs/ – Tushar

+0

@Gavriel我沒有問到memcache。我詢問了共享磁盤的選項。謝謝。 –

回答

0

您必須使用一個通用的掛接(NFS客戶端)的NFS服務器這些實例(服務器)將最終爲會話的存儲和訪問創造一個共同的地方。有關詳細信息,請this

0

你可以做到這一點,但它可能不會一個不錯的選擇。使用NFS時,由於鎖定模式,你的性能會很差,並且不能很好地擴展。

對於存儲PHP會話和機器之間共享它們,強烈建議使用外部服務 - 無論是memcache(包括memcachememcached PHP擴展提供易於建立會話存儲模塊),或redis,或甚至是關係數據庫(例如MySQL)。在大多數情況下,所有這些都是比NFS更好的選擇。

+0

嗯..剛剛閱讀你的評論關於可伸縮性不重要 - 好吧,如果你100%肯定的話,NFS會沒事的。這就是說,我仍然認爲memcahe更容易。 – shevron