我正在使用CakePHP开发一个应用程序,我一直在使用Firefox进行调试。一切都很好,直到我决定用IE测试它并遇到一些非常奇怪的行为。有时页面不会加载到IE中,他们只会坐在那里加载状态。挂起的页面非常简单,只使用CakePHP的Html帮助程序来创建单个表单并使用AuthComponent :: User()进行检查(以查看用户是否已登录)。我确信这个问题与会话有关。假设我要在IE中打开页面,它确实挂起,我无法在Firefox中查看页面,直到我在IE中停止连接。
同样,这个问题在Firefox中不会发生。我已尝试在SessionId cookie in CakePHP causing the page to hang内发布的修补程序,但没有运气。
更新:我刚刚安装了XDebug。我在我的webroot directoy的index.php的最开头调用了xdebug_break()。当IE中的请求挂起时,永远不会触发此断点。我现在怀疑WAMP正在表演吗?
以下是引起关注的代码,这是在我的根控制器中,所有其他控制器都会扩展。
public function beforeFilter()
{
if($this->Auth->user())
{
if($this->Auth->user('roles') == 'admin')
$this->layout = 'admin';
else if($this->Auth->user('roles') == 'partner')
$this->layout = 'partner';
else if($this->Auth->user('roles') == 'user')
$this->layout = 'user';
}
$this->set('currentController', $this->request['controller']);
$this->set('username', $this->Auth->user('username'));
}
答案 0 :(得分:1)
看起来这是Apache的一个问题。
通过添加
解决AcceptFilter http none
AcceptFilter https none
到我的httpd.conf