cakephp / apache为同一个用户创建多个会话

时间:2017-03-08 16:27:50

标签: php apache session cakephp

我本月在cakephp 2网站上工作,所以我想知道这个。 该网站自3年以来一直在生产和工作。

问题在于,有时apache会为浏览网站时已有会话的用户创建新会话。因此,用户必须再次登录并放弃他的实际工作。 我在Windows上使用xampp部署网站,我遇到了同样的问题。

xampp\tmp文件夹中,我看到新文件正在创建,但我只在我的本地主机上,并且我只停止浏览几个秒。

例如,在同一分钟内创建的两个会话文件

Config | a: 3: {
    s: 9: "userAgent";
    s: 32: "b6940efc452d3a691e416c43f2d1efa8";
    s: 4: "time";
    i: 1489043181;
    s: 9: "countdown";
    i: 10;
}
Message | a: 0: {}

-

Config | a: 3: {
    s: 9: "userAgent";
    s: 32: "b6940efc452d3a691e416c43f2d1efa8";
    s: 4: "time";
    i: 1489043188;
    s: 9: "countdown";
    i: 5;
}
Message | a: 0: {}

所以b6940efc452d3a691e416c43f2d1efa8在两个文件中是相同的。

这是我的cakephp配置:

cakephp的/应用/配置/ 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(我在开发模式下)

Configure::write('debug', '2'); 
Configure::write(
        'Session', array('defaults' => 'php', 'timeout' => '900', 'autoRegenerate' => true)
);
Configure::write('Cache.disable', true);

和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 =

欢迎任何建议 感谢

0 个答案:

没有答案