cakephp/apache为同一用户创建多个会话
我这个月在cakephp 2网站上工作,所以我请求加入。 该网站自3年前投入生产并投入使用 问题是,有时apache会为浏览网站时已经有会话的用户创建新会话。因此,用户必须再次登录并放弃其实际工作。 我在windows上部署了带有xampp的网站,我也遇到了同样的问题 在cakephp/apache为同一用户创建多个会话,php,apache,session,cakephp,Php,Apache,Session,Cakephp,我这个月在cakephp 2网站上工作,所以我请求加入。 该网站自3年前投入生产并投入使用 问题是,有时apache会为浏览网站时已经有会话的用户创建新会话。因此,用户必须再次登录并放弃其实际工作。 我在windows上部署了带有xampp的网站,我也遇到了同样的问题 在xampp\tmp文件夹中,我看到新文件正在创建,但我独自一人在本地主机上,只花了几秒钟就停止浏览 例如,在同一分钟内创建的两个会话文件 Config | a: 3: { s: 9: "userAgent"; s
xampp\tmp
文件夹中,我看到新文件正在创建,但我独自一人在本地主机上,只花了几秒钟就停止浏览
例如,在同一分钟内创建的两个会话文件
Config | a: 3: {
s: 9: "userAgent";
s: 32: "b6940efc452d3a691e416c43f2d1efa8";
s: 4: "time";
i: 1489043181;
s: 9: "countdown";
i: 10;
}
Message | a: 0: {}
-
因此,b6940efc452d3a691e416c43f2d1efa8在这两个文件中是相同的
这是我的cakephp配置:
cakephp/app/config/core.php
Configure::write('debug', 2);
Configure::write('Error', array(
'handler' => 'ErrorHandler::handleError',
'level' => E_ALL & ~E_DEPRECATED,
'trace' => true
));
Configure::write('Exception', array(
'handler' => 'ErrorHandler::handleException',
'renderer' => 'ExceptionRenderer',
'log' => true
));
Configure::write('App.encoding', 'UTF-8');
Configure::write('Cache.disable', true);
//Configure::write('Cache.check', true);
define('LOG_ERROR', 2);
Configure::write('Session', array(
'defaults' => 'cake',
'Session.cookie' => 'CAKEPHP',
'Session.cookieTimeout'=>30,
'Session.checkAgent' => false
));
Configure::write('Security.level', 'medium');
Cache::config('_cake_core_', array(
'engine' => $engine,
'prefix' => $prefix . 'cake_core_',
'path' => CACHE . 'persistent' . DS,
'serialize' => ($engine === 'File'),
'duration' => $duration
));
Cache::config('_cake_model_', array(
'engine' => $engine,
'prefix' => $prefix . 'cake_model_',
'path' => CACHE . 'models' . DS,
'serialize' => ($engine === 'File'),
'duration' => $duration
));
cakephp/app/config/boostrap.php(我处于开发模式)
和xampp php.ini
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 0
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 0
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
欢迎任何建议
谢谢php.ini中为session.gc_maxlife设置了什么?另外,
autoRegenerate
true标志将每n个请求自动重新生成会话密钥,我不认为在正常情况下这会触发登录银行的帮助需求。我在本地有session.gc_maxlife=1440。我将bootstrap.php更改为Configure::write('Session',array('defaults'=>'php','timeout'=>'3600','autoRegenerate'=>false));我希望这能解决新一届会议的问题
Configure::write('debug', '2');
Configure::write(
'Session', array('defaults' => 'php', 'timeout' => '900', 'autoRegenerate' => true)
);
Configure::write('Cache.disable', true);
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 0
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 0
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =