2015-11-04 37 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' 
    ] 
],