问题描述
我希望将此外部$_SESSION['raw']
值从mydomain.com/
传递到位于mydomain.com/cake
的CakePHP框架中。
在CakePHP食谱https://book.cakephp.org/4/en/development/sessions.html中,它说我需要将会话基础路径配置为root,以允许会话在所有子域中持久存在,因此我在config/app.PHP
中做到了:
'Session' => [
'defaults' => 'PHP','ini' => [
'session.cookie_path' => '/','session.cookie_domain' => '.mydoamin.com','session.cookie_secure' => false
],],
但是,当我在控制器中对其进行测试时,它返回空值(即[]
)。
public function add()
{
session_start();
debug($_SESSION);
// other code
}
调试器:
APP/Controller/RecordingsController.PHP (line 53)
[
]
在CakePHP框架之外可以访问$_SESSION['raw']
值,因此我怀疑我没有正确设置基本路径,或者还有其他原因导致此路径不起作用。
解决方法
事实证明,尽管根本不是一种好的做法,但$ _SESSION确实已传递到框架中。您需要做的就是关闭浏览器,然后再次打开。