【问题标题】:CakePHP continue session outside cakeCakePHP 在蛋糕外继续会话
【发布时间】:2015-05-11 10:15:54
【问题描述】:

我正在尝试在应用程序之外继续 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);
?>

test session.php 应该输出蛋糕会话,但它不工作。我已经验证了 cookie CAKEPHP 存在。

【问题讨论】:

    标签: session cakephp


    【解决方案1】:

    您正在使用 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 配置进行控制。

    另见

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2013-04-13
      • 2015-06-29
      • 1970-01-01
      相关资源
      最近更新 更多