【问题标题】:$_SESSION not saving values between php zend controllers in XAMPP$_SESSION 不在 XAMPP 中的 php zend 控制器之间保存值
【发布时间】:2015-05-14 21:45:08
【问题描述】:

伙计们,

我相信一切都很好。

我的 $_SESSION 在我的 zend 应用程序中没有将值从一个控制器传递到另一个控制器时遇到问题。该问题仅发生在我的本地桌面环境中。 (Windows 8 XAMPP 版本 5.6.8)。当我在我的 unix 服务器上运行代码时,它运行正常。 这是我用来在我的第一个控制器中设置会话变量的代码:

$_SESSION["child_code"] = $status["child_code"];
$_SESSION["bridgit_child_code"] = $status["bridgit_child_code"];
$_SESSION["sessionId"] = $status["session_id"];
$_SESSION["bridgit_rec_id"] = $status["bridgit_rec_school_code"];
$_SESSION["school_code"] = $status["reg_school_code"];

在第一个控制器中运行以下代码时,会话数据正确显示:

print_r($_SESSION);

这是我用来在我的第二个控制器中获取会话数据的代码:

$this->aParameters["school_code"] = $_SESSION["school_code"];
$this->aParameters["child_code"] = $_SESSION["child_code"];
$this->aParameters["sessionId"] = $_SESSION["sessionId"];

但是没有任何数据,我通过在此处打印会话数据来验证它:

print_r($_SESSION);

我尝试在我的 php.ini 中将 session.auto_start 设置为 1,但如果我这样做了,我的应用程序就会崩溃。

我认为这是我的 XAMPP 设置方式的问题,因为代码在我的 Unix 服务器上运行。

有人对如何解决这个问题有建议吗?

提前致谢。

安迪

【问题讨论】:

  • 会话是否在您的 Windows 环境中工作,或者只是不使用此特定代码?要检查的一件事是 session.save_path 存在并且是可写的。
  • 我检查了 session.save_path 存在并且是可写的。

标签: php session zend-framework xampp


【解决方案1】:

根据 Zend 1.12 manual 会话的工作方式是这样的。

$mysession = new Zend_Session_Namespace();
$mysession->child_code = $status["child_code"];
print_r($_SESSION);

在你的下一个控制器上。

$mysession = new Zend_Session_Namespace();
print_r($_SESSION);

如果您使用的是Zend 2,请阅读文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多