【问题标题】:Undefined variable: _SESSION on new WAMP setup未定义的变量:新 WAMP 设置上的 _SESSION
【发布时间】:2013-03-08 16:25:55
【问题描述】:

每当我尝试访问会话变量时都会收到以下错误:

Undefined variable: _SESSION

我的登录页面顶部有一个 session_start() 命令(但没有在任何其他页面上)。

这是在 Windows 2003 Server 上的新 WAMP 设置上,所以我怀疑我可能没有正确配置服务器以进行会话管理。 除了下面的设置,我还需要做些什么来启用会话吗?

[Session]
session.save_path = "1;c:\inetpub\wwwroot"

【问题讨论】:

  • gah.. 不要将会话文件放入文档根目录。这是一个可怕的安全问题。它们必须位于文档根目录之外的某个位置,并且您必须确保服务器 ID(IUSR_IIS?)对该文件夹 + 文件具有“更改”权限。
  • 为@MarcB +1。此外,您必须在 每个 页面的顶部有 session_start()
  • $_SESSION 不是吗?好久没做PHP了。

标签: php session


【解决方案1】:

我的登录页面顶部有一个 session_start() 命令(但没有 在任何其他页面上)。

嗯,你应该。您需要在每个将使用$_SESSION 数组的连接上调用session_start(),而不仅仅是在登录时。

【讨论】:

  • 如果我将会话开始放在每个页面的顶部,我会得到“注意:会话已经开始 - 忽略 session_start()” - 仍然无法查询会话变量。我还检查了 variables_order 设置为“GPCS”
【解决方案2】:

将您的session_start() 命令和任何数据库连接放在一个单独的 php 文件中,然后将其包含在您的所有页面中。

【讨论】:

  • 这究竟如何帮助 OP 解决他们的问题?
  • @MarcB 给定 OP 确实只在登录页面上调用 session_start(),这是非常有效的答案。
猜你喜欢
  • 2021-01-01
  • 2012-03-27
  • 2021-11-29
  • 1970-01-01
  • 2014-12-16
  • 2013-11-16
  • 2017-07-25
  • 2017-07-16
  • 2019-02-13
相关资源
最近更新 更多