2015-11-04 111 views

回答

0

您需要將您的會話使用app.php文件中緩存的會話:

'Session' => [ 
    'defaults' => 'cache' 
] 

然後,你會設置你的緩存,Redis的:

'Cache' => [ 
    'default' => [ 
     'className' => 'Redis', 
    ], 
    ] 
0

在供應商\ CakePHP的\ CakePHP中的\ src \網絡\ session.php文件

可以看到defaul t類型的會話。

它們被列爲php,cake,cache,database。

$defaults = [ 
     'php' => [ 
      'cookie' => 'CAKEPHP', 
      'ini' => [ 
       'session.use_trans_sid' => 0, 
      ] 
     ], 
     'cake' => [ 
      'cookie' => 'CAKEPHP', 
      'ini' => [ 
       'session.use_trans_sid' => 0, 
       'session.serialize_handler' => 'php', 
       'session.use_cookies' => 1, 
       'session.save_path' => TMP . 'sessions', 
       'session.save_handler' => 'files' 
      ] 
     ], 
     'cache' => [ 
      'cookie' => 'CAKEPHP', 
      'ini' => [ 
       'session.use_trans_sid' => 0, 
       'session.use_cookies' => 1, 
       'session.save_handler' => 'user', 
      ], 
      'handler' => [ 
       'engine' => 'CacheSession', 
       'config' => 'default' 
      ] 
     ], 
     'database' => [ 
      'cookie' => 'CAKEPHP', 
      'ini' => [ 
       'session.use_trans_sid' => 0, 
       'session.use_cookies' => 1, 
       'session.save_handler' => 'user', 
       'session.serialize_handler' => 'php', 
      ], 
      'handler' => [ 
       'engine' => 'DatabaseSession' 
      ] 
     ] 
    ] 

這是使用Cache的默認配置的緩存。也許你想使用defualt作爲文件緩存。

在app.php 創建一個新的緩存配置

'redis' => [ 
     'className' => 'Redis', 
     'server'=>'127.0.0.1', 
     'port'=>6379 
    ], 

然後你就可以在這裏使用新的緩存配置。

'Session' => [ 
    'cookie' => 'herewego', 
    'ini' => [ 
     'session.use_trans_sid' => 0, 
     'session.use_cookies' => 1, 
     'session.save_handler' => 'user', 
    ], 
    'handler' => [ 
     'engine' => 'CacheSession', 
     'config' => 'redis' 
    ] 
],