在Yii,在查看CWebUser :: logout的源代碼時,我注意到他們使用Yii::app()->getSession()->destroy()
而不是通常的PHP session_destroy
。Yii會話和PHP會話是否交叉兼容?
做了一點研究我看到Yii有一個叫做CHttpSession
的類,它有自己的方法來存儲數據。
這讓我想到了 - 它們是否交叉兼容? CHttpSession
只是一個不錯的包裝?或者它是一個完全或沒有過程?
在我的自定義代碼中,我一直在使用$_SESSION
來完成所有與會話相關的事情。在Yii生成的東西中,我假設它使用CHttpSession
。使用兩者並混合起來會有問題嗎?
我現在正在將會話處理轉移到AWS DynamoDB(https://github.com/aws/aws-sdk-php/blob/master/docs/feature-dynamodb-session-handler.rst),並且在添加此附加圖層之前,我想確保一切都是兼容的。
好。你認爲它可以對我包含的鏈接有任何影響嗎?我正在更改自定義存儲,但我沒有處理執行它的代碼,AWS爲我做了這件事。它應該仍然自動正常工作? https://github.com/aws/aws-sdk-php/blob/master/docs/feature-dynamodb-session-handler.rst –
我不確定它會自動工作或可能會產生什麼影響。您可能必須重寫子類中的'openSession'方法以包含github片段,並將此類用作會話封裝器。快樂的測試。 – topher
您可以使用基於數據庫的會話來恢復該會話。它非常簡單。 只要把 '會話'=>數組( '類'=> 'CDbHttpSession', '的ConnectionId'=> 'DB', // '超時'=> 86400, ) 上配置/主。 PHP組件 – Sabbir