Zend Session save_path不能正常工作

时间:2012-05-29 12:51:13

标签: zend-framework session authentication directory

我希望你们能帮助我,

在我的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。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

Tim Fountain问(在问题的评论中)是否在引导程序中发生了任何其他与会话相关的功能,我决定在bootstrap之前检查发生了什么,并在public / index.php文件中找到了这一行。

Zend_Session::start();

就在$ application-> bootstrap() - > run()之前。我删除它,它工作。

问题:Zend_Session :: start()创建了会话文件而没有应用在application.ini中设置的任何配置(因为它在引导过程中运行)。