【发布时间】:2018-04-03 05:05:01
【问题描述】:
我有一个使用 CodeIgniter 3.1.6 构建的应用程序。我正在生产服务器上的子域上进行测试。我将主域指向该文件夹,并将 config.php 中的 $base_url 更改为正确的 URL。 (config.php 中的$cookie_domain 从未设置过。)
但是,会话数据现在不起作用。我尝试了一些测试,可以在一个控制器中设置和读取会话数据。
$this->session->set_userdata('name', $name);
echo $this->session->userdata('name');
但是,这不适用于跨 URL。例如:
// controllers/Contact.php
$this->session->set_userdata('name', $name);
// controllers/Welcome.php
echo $this->session->userdata('name');
关于为什么这可能不适用于其他域的任何想法?
【问题讨论】:
-
您确定
$name变量不为空吗?当你var_dump($this->session->name)时你会得到什么? -
@Vickel。谢谢,在您的链接中,它表明 CodeIgniter 3.1.6 和 PHP 7.1 在使用会话数据时存在问题。没有意识到域正在运行 7.1。将其发布为答案,我会 +1
-
@user1949366 你的意思是 但是这在 URL 中不起作用
标签: php codeigniter session