2012-05-03 47 views

回答

4

一種選擇是會話轉接器設置爲'Php'鋰,並通過'session.save_handler' => 'memcached'到將使用memcached的擴展的存儲處理器來存儲會話內存緩存中的配置選項:

Session::config(array(
    'default' => array(
     'adapter' => 'Php', 
     'session.save_handler' => 'memcached', 
     'session.save_path' => 'sess1:11211, sess2:11211' 
    ) 
)); 

http://php.net/manual/en/memcached.sessions.php

我通過使用'Model'適配器(可在lab.lithify.me上獲得)在MongoDb中存儲會話:

Session::config(array(
    'default' => array(
     'adapter' => 'Model', 
     'model' => 'app\models\Sessions', 
     'name' => 'session' 
    ) 
)); 

http://lab.lithify.me/lab/extensions/view/a68f6ad626aaf7be37805f8e72f672e2

+0

如何僅爲生產環境指定memcached? – Eno

3

新的適配器必須對那些被寫入。

我會用第二種解決方案。

+0

session_set_save_handler目前似乎是更好的選擇。我認爲最好將它存儲在\ extensions中並在會話引導中調用它? –

+0

您可以在您的應用程序擴展中創建自己的適配器,該應用程序擴展從PHP繼承,並根據需要設置保存處理程序。也許IRC的人可以幫助你。 – greut

相關問題