Zend Framework应用程序中的php – “会话已经启动…”异常

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Zend Framework应用程序中的php – “会话已经启动…”异常脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试加载Zend Framework应用程序时收到此错误

我使用Zend_Auth和我的本地服务器,它的工作正常,但在生产服务器上,我得到上述错误,但不是每次.

我已经检查了.htaccess文件中的session.autostart设置为0.

如何解决这个错误

感谢您的回答,但我不会在任何地方使用session_start().只与ZF一起工作

我在共享服务器上有这个问题,在我的本地服务器脚本工作完美.

我用这个代码使用INIT函数

受保护的$user;

public function init()
{   
    if(!Zend_Auth::getInstance()->hasIdentity())
    {
        $this->_redirect('auth/login');
    }else
    {
        $this->user = Zend_Auth::getInstance()->getIdentity();
    }
}

我已经尝试只在indexAction中设置tis代码,这样其他的操作就不必篡改Auth …但仍然有问题.

我有办法设置一个Action来不检查会话或者这样的事情吗?

贝斯特问候

这是它所说的. Zend_Auth尝试启动一个新的会话,因为Zend_Session :: start()尚未被调用.

问题是在启动会话之前必须调用Zend_Session :: start().但是,因为session.autostart是0(BTw这是在PHP.ini不是.htaccess),你可能已经写了session_start();某处.您不能这样做,因为ZF希望完全控制会话,即您不应该直接访问全局会话变量.

解决它,搜索您的代码文件的session_start()和

>删除所有的事情,但一个.要注意是否已经启动,请设置error_reporting(E_ALL | E_STRICT);
用Zend_Session :: start()替换它;在所有地方

如果找不到所有的事件,找到一个session_start();这使您的Zend_Auth :: getInstance() – > hasIdentity()解决问题,并使用以下代码片段解决问题

try {
    Zend_Session::start();
} catch(Zend_Session_Exception $e) {
    session_start();
}

如果您在整个应用程序中使用ZF,我将与2)

脚本宝典总结

以上是脚本宝典为你收集整理的Zend Framework应用程序中的php – “会话已经启动…”异常全部内容,希望文章能够帮你解决Zend Framework应用程序中的php – “会话已经启动…”异常所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。