1. 程式人生 > 其它 >yii2設定session時間_關於 Swoft 2.0 版本用 Redis 儲存 session 時配置問題

yii2設定session時間_關於 Swoft 2.0 版本用 Redis 儲存 session 時配置問題

技術標籤:yii2設定session時間

Swoft 2.0 在 session 配置上和 1.0 還是有一些不同地方,而關於這些在 github 上完全沒有任何說明,甚至連文件也沒有。經過逐步梳理原始碼(其中要理解他的 “註解”)對比預設的 1.0 和其他儲存方式檔案配置,稍微測通了。

首先 session 用 redis 儲存時,要先根據 2.0 的文件把 redis 配置好,這裡無須贅述,需要說的一點就是:它的 redis 連線池預設是‘redis.pool’。

現在附上 session 配置在 bean.php 里加上

'sessionManager' => [
        'class' => SwoftHttpSessionSessionManager::class,
        'name' => 'MYSWOFT_SESSION_ID',
        'handler' => bean('sessionHandler'),
        'lifetime' => 1800,
        'expire_on_close' => false,
        'encrypt' => false,
        //'storage' => '@runtime/sessions',
    ],
    'sessionHandler' => [
        'class'    => SwoftHttpSessionHandlerRedisHandler::class,
        'redis' => bean('redis.pool')
        // For storage session files
        //'savePath' => alias('@runtime/sessions')
    ],

這裡需要注意的幾點:

1. 遵循這個結構配置,1.0 的配置結構不再適用,原因在於拓展模組檔案的引數都變了;

2.’sessionManager’下’class’的路徑,2.0 和 1.0 的路徑有差異;

3.’sessionHandler’下’redis’這個引數,這個位置卡了半天,出現 redis 適用方法找不到情況,最後發現 RedisHandler 中的屬性沒有預設值,需要賦值。這個賦值也關聯到前面的 redis 的連線池,如果你的連線池改了其他名稱,這裡也需要跟著改;

4. 和第三點差不多,如果用到了其他的儲存方式要注意檢視模組檔案是否有需要在配置檔案賦值的屬性(比如檔案儲存時設定 savePath),這裡需要多瞭解他裡面的 “註解”;

原文:關於 Swoft 2.0 版本用 Redis 儲存 session 時配置問題

更多PHP內容請訪問:

八重櫻:騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)​zhuanlan.zhihu.com 3518471ab1cc85b694f383f4ff000511.png

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務程式碼寫多了沒有方向感,不知道該從那裡入手去提升,對此我整理了一些資料,包括但不限於:分散式架構、高可擴充套件、高效能、高併發、伺服器效能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell指令碼、Docker、微服務、Nginx等多個知識點高階進階乾貨需要的可以免費分享給大家,需要的可以加入

我的官方群點選此處。