Session Symfony 2:会话\u启动导致错误\u空\u响应
我们刚刚将Symfony2.3项目移动到另一台服务器,现在遇到以下问题: 路由Session Symfony 2:会话\u启动导致错误\u空\u响应,session,symfony,Session,Symfony,我们刚刚将Symfony2.3项目移动到另一台服务器,现在遇到以下问题: 路由/login和\u wdt/9d5405会导致Google Chrome(以及所有其他显示其特定错误消息的浏览器)中出现ERR\u EMPTY\u响应错误。该错误同时发生在prod和dev环境中 我从我的登录中找到了这个问题 /** * @Route("/login", name="login") * @Route("/login/{redirect}", name="login_redirect"
/login
和\u wdt/9d5405
会导致Google Chrome(以及所有其他显示其特定错误消息的浏览器)中出现ERR\u EMPTY\u响应错误。该错误同时发生在prod和dev环境中
我从我的登录中找到了这个问题
/**
* @Route("/login", name="login")
* @Route("/login/{redirect}", name="login_redirect")
* @Template()
*/
public function loginAction($redirect = '')
{
if ($this->getUser())
{
return $this->redirect($this->generateUrl('crea_frontend_index'));
}
$request = $this->getRequest();
$session = $request->getSession();
// get the login error if there is one
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR))
{
$error = $request->attributes->get(
SecurityContext::AUTHENTICATION_ERROR
);
}
else
{
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
}
$redirect = urldecode($redirect);
return array(
'last_username' => $session->get(SecurityContext::LAST_USERNAME), // last username entered by the user
'redirect' => $redirect,
'error' => $error,
);
}
这一行产生错误:
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
我追踪到了
Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
第148行中有if(!session_start()){
结果是session_start此时会产生错误,但是当我向app.php添加一个session_start();
并注释所有其他有效的内容时
现在我对如何解决这个问题完全感到困惑。任何关于如何解决这个问题或如何进一步调试的想法都将非常有用
- PHP 5.4.20
- 日志文件中没有错误
已解决:问题是PHP版本5.4.20。我们测试了5.3.17和5.5.9。这两个版本都运行良好。除了5.4.20。但我仍然想知道是什么原因导致此错误。这可能会导致Symfony修复来处理此版本。您使用的PHP和APC版本是什么?日志文件中没有错误(PHP/Webserver/symfony)?@nifr我添加了PHP版本,我仍在尝试查找apc版本。所有日志文件都不包含任何错误。您使用的是什么操作系统?Windows?linux openSuse 13.1 64位,我刚刚找到apc版本,它是3.1.15-dev
phpversion('apc')
将输出apc版本。