我试图在应用程序之外继续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。
答案 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配置控制事物。
另见