【发布时间】:2019-03-30 06:28:56
【问题描述】:
我在 AWS EC2 中托管了我的代码点火器应用程序。在那个会话中没有在我的登录过程中设置值。在 php.ini 文件中,我将会话保存路径设置为/tmp。
session.save_path = '/tmp'
会话已启动,会话 ID 正在生成。但是会话值没有存储。我打印了$_SESSION 和会话ID,下面是输出。
string(26) "038vbmtjecvkqft02ou813qvo1" array(1) { ["__ci_last_regenerate"]=> int(1540479344) }
我的会话代码如下,
$this->session->set_userdata('frontusername', $res->Email);
$this->session->set_userdata('frontname', $res->FirstName);
$this->session->set_userdata('frontuserid', $res->Id);
它在我的另一台服务器上运行良好,但在 AWS EC2 中却不行。 设置保存路径后重新启动apache并检查/var/log下的错误日志。没有错误。 /tmp 文件夹也是可写的。
搜索前两天,没有运气。请任何帮助,在此先感谢。
【问题讨论】:
-
那么
$_SESSION是如何打印值的? -
您使用的是哪个版本的 PHP?
-
您能告诉我们您在
$this->session中用于会话处理的类的源代码吗? -
@vivek_23,是的,$_SESSION 只打印 __ci_last_regenerate,而不是我的值
-
我在 ec2 中使用 php 7,在我的另一台服务器中使用 php 5。有什么相关的吗?
标签: php amazon-web-services codeigniter session amazon-ec2