CakePHP继续在蛋糕外面开会

时间:2015-05-11 10:15:54

标签: session cakephp

我试图在应用程序之外继续CakePHP会话。

CakePHP会话配置:

Configure::write('Session', array(
    'checkAgent' => false,
    'defaults' => 'cake',
    'timeout' => 10080, // 1 week,
    'ini' => array(
        'session.cookie_httponly' => 1,
    )
));

cakephp_webroot / test_session.php:

<?php
session_name("CAKEPHP");
session_start();
var_dump($_SESSION);
?>

测试session.php应该输出蛋糕会话,但它不起作用。我已经验证了CAKEPHP存在的cookie。

1 个答案:

答案 0 :(得分:2)

您使用cake默认值进行会话处理,它们与PHP默认值不兼容(php选项的defaults可用)。

cake配置使用自定义保存路径并强制使用Cookie。

<强> https://github.com/cakephp/.../Datasource/CakeSession.php#L600-L612

// ...
'cake' => array(
    'cookie' => 'CAKEPHP',
    'timeout' => 240,
    'ini' => array(
        'session.use_trans_sid' => 0,
        'url_rewriter.tags' => '',
        'session.serialize_handler' => 'php',
        'session.use_cookies' => 1,
        'session.cookie_path' => self::$path,
        'session.save_path' => TMP . 'sessions',
        'session.save_handler' => 'files'
    )
),
// ...

因此,要么将外部脚本会话使用配置为与cake默认值相同,要么使用php默认值,并通过PHP ini配置控制事物。

另见