我的服務器提供商從數據中心移出。雖然移動出了問題,並且我們專用的數據庫服務器的電源供應失敗。他們建立了一個新的虛擬數據庫作爲備份計劃,所以我們可以繼續繼續。我放回了數據的備份。然而,在此之後,Yii會議似乎不再起作用。只需指定,只有數據庫受到影響。我的代碼就像它一樣,沒有改變。Yii會話在更改數據庫服務器後停止工作
當我嘗試框架以外是這樣的:
session_start();
$_SESSION["test"] = 100;
還是能夠工作。它會存儲和我可以使用會話變量,如你所期望的。但是,當我使用Yii代碼如Yii::app()->session["test"] = 100
。我不記得這些數據。
的額外信息
- 餅乾做的工作。如果他們不工作。每次在頁面重新加載時我都會彈出一個對話框。所以一定要這樣。
- 「Cookie中的sessionID每次在頁面重新加載時都會更改」更正:似乎cookie在atm中沒有更改。
- 沒有會話文件在服務器上找到(我認爲這可能是問題?)
- 會話文件位置是可寫(測試在PHP
is_writable(Yii::app()->session->savePath)
返回true) - YiiSession表正被更新(清除了並且它再次填充)
- Main.php config不包含會話的組件(因此一切都是默認的)
- 我試圖設置一些會話設置,包括自動創建數據庫表。我刪除了表格,並且它自動再次創建。
- YiiSession表包含ID和到期
- 雖然到期日期似乎很短,但仍設置以及在未來
- 從專用服務器去了一個臨時的虛擬服務器(無論運行的CentOS 6.6 + MySQL的)。
- 會話存儲在未受更改影響的虛擬服務器上。
- 的Yii ::應用程序() - >的getSession() - > getSessionId()返回的sessionId
任何建議可能是什麼問題?在數據庫服務器發生更改後,這個問題很奇怪。
BIG注意:只是注意到在某些設置文件中有一個組件 - >會話。看來我們使用一個自定義的HttpSession。我想這個問題可能在那裏。將看起來它(看看爲什麼以前的開發人員決定爲此創建一個自定義類),然後使用默認選項,看看是否修復它。
選中此項:http:// stackoverflow。com/questions/20965023/sessions-in-yii – C2486
@Rishi謝謝你的回覆。就像我提到的。有效。它一直在工作多年。據我所知,唯一的變化是我們有一個新的數據庫服務器。代碼中沒有其他變化。 – Jeroen