【发布时间】: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