2012-10-14 52 views
0

我已經設置Yii應用程序會話保存在數據庫中。我如何讀取保存在數據庫與PHP的會話?

在我的應用程序的一部分,我需要閱讀由Yii創建的會話,但 我不能使用Yii::app()->session,因爲我的代碼是Yii應用程序。

我可以用PHP函數讀這個會話嗎?

創建和保存的Yii在臨時文件夾,而不是數據庫(這樣我就可以很容易地使用$_SESSION這個特定會議?

+0

你爲什麼需要訪問數據庫?只需直接使用會話變量。 –

+0

爲什麼你不能簡單地將代碼移入Yii控制器?即使它是特定的,通常很容易解決。 –

回答

1

您正在尋找的功能是session_set_save_handler()

此功能允許您覆蓋$_SESSION變量的默認處理。您可以使用它來指定一組將處理與會話處理相關的加載,保存和其他任務的函數。

您可以使用這些函數從數據庫或任何其他您想要的源加載會話數據。

希望有所幫助。

1

您可以捕獲瀏覽器發送的cookie,並使用cookie中的會話ID從表中選擇,但很可能有更好的方法來解決您的問題。

爲什麼你不能簡單地將代碼移動到Yii控制器?即使它是特定的,通常很容易解決。