2010-07-09 76 views
3

嗨,我們一直在一箇中央專用服務器上運行一個約500名用戶在線的系統。我們的應用程序使用PHP編碼。最近,當我們有大約100-150個用戶的合理負載時,會話開始混亂起來。例如,如果用戶在一會兒之後登錄爲A,他的會話切換到也登錄的用戶B.該系統已運行一年多,這是我們第一次遇到問題。會話混淆PHP

服務器運行Centos。這是服務器端的任何事情還是代碼中的東西?任何幫助非常感謝。

回答

0

首先,確保您的會話過期並正確清理。其次,確保你的會話ID隨機化足夠好。這兩個問題都可能導致碰撞。

1

幾種可能性,您應該調查

  • 緩存:如果您使用的緩存,那麼這大概就是這樣(緩存再生並錯誤地提供給用戶)
  • 會話不到期的一些原因。去PHP存儲會話的地方(這是一個目錄,它取決於你的php.ini),看看有什麼。如果有成千上萬的文件,那麼您的過期策略會出現問題。
  • 代理中間:配置不正確緩存代理還可以與登錄程序干擾(這個最近一直具有移動用戶你的問題的情況下)
1

剛剛發佈了一個回覆same question問了幾分鐘後由另一個用戶。

我同意Palantir的第一點和第三點 - 但第二點非常非常,不太可能是問題的原因。

您是否使用客戶會話處理程序?默認處理程序爲人們工作數千人。