【问题标题】:CI Can't find session variable when project is accessed from server从服务器访问项目时CI找不到会话变量
【发布时间】:2018-04-24 00:23:39
【问题描述】:

编辑:Zen 在下面的评论(这已经是公认的答案)起到了作用。我已经用我的工作站上的那个覆盖了服务器上的 php.ini。我不再有这个问题了。

在服务器上:我尝试在设置此会话后立即在控制器中打印 $this->session->userdata('uid') ,并且在那段时间一切都很好,但是当我 var_dump 这个 uid在我的登录页面中,它返回 false。它不存在。我也已经尝试过多次擦除浏览器中的 cookie 和所有内容。也试过重启。

在我的本地主机上:一切正常。

有人经历过吗?

背景:系统获取用户输入的登录信息后,验证用户是否存在于数据库中,即在模型中设置此会话变量。

有人经历过吗?

我的工作站在 Windows 7 上运行 XAMPP 1.7.7,服务器在 centOS 上使用 XAMPP for linux,我的浏览器是 chrome。还有什么需要说明的请告诉我。

【问题讨论】:

  • 您还有其他session 数据吗?可以打印吗?也许你可以试试这个来检查是否有其他数据可用print_r($this->session->all_userdata())。
  • 我也试过这个。同样,当从服务器访问该站点时,我正在寻找的会话变量不存在。但是,显示在我的本地主机中。我很确定我也上传了正确的文件。
  • 确保您正确配置它,您是否正确设置了config.php 中的所有内容,您是否看到其他会话数据。
  • 我想是的,是的。当我 var_dump all_userdata() 这就是我得到的,但我正在寻找 'uid' array(5) { ["session_id"]=> string(32) "8f25fa3aa6d0905ec3c35f01cda2898b" ["ip_address"]=> string(12 ) "192.168.1.59" ["user_agent"]=> string(99) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4" ["last_activity"]= > int(1350479643) ["user_data"]=> string(0) "" }
  • @Tim:我的页面无法识别 $_SESSION,它返回一个错误,即变量 _SESSION 未定义。我会试试@Zen,然后再回复你。非常感谢。

标签: php codeigniter session webserver


【解决方案1】:

尝试在远程 CentOS 机器上使用本地服务器上完全相同的 php.ini 文件 - 这将消除 php 配置中出错的可能性(事实证明,这种情况发生了......)

这应该总是在您的“是什么导致 PHP 出现这个无法解释的问题?”列表。

【讨论】:

  • 很高兴我的 PHP 配置不一致的可怕时期可能对您有用:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-02
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
相关资源
最近更新 更多