我希望你们能帮助我,
在我的Zend应用程序中,我将Zend_Auth会话文件设置为保存在特定文件夹中,因为我使用的是共享主机。显然我已经把一切都搞定了,但问题是会话没有存储在我想要的文件夹中。
在application.ini中我有:
resources.session.save_path = APPLICATION_PATH "/../data/session/"
resources.session.use_only_cookies = true
在引导程序中我有:
protected function _initSessions()
{
$this->bootstrap('session');
}
身份验证方法
$adapter = $this->getAuthAdapter();
$adapter->setIdentity($userName)->setCredential($hPassword);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
$user = $this->_userModel->getUserAuthData($userName);
$auth->getStorage()->write($user);
应用程序验证正常,但会话文件仍保存在de / tmp文件夹中,而不是APPLICATION_PATH“/../data/session/”。
文件夹/ data / session有chmod 777。
我在这里缺少什么?
答案 0 :(得分:2)
Tim Fountain问(在问题的评论中)是否在引导程序中发生了任何其他与会话相关的功能,我决定在bootstrap之前检查发生了什么,并在public / index.php文件中找到了这一行。
Zend_Session::start();
就在$ application-> bootstrap() - > run()之前。我删除它,它工作。
问题:Zend_Session :: start()创建了会话文件而没有应用在application.ini中设置的任何配置(因为它在引导过程中运行)。