当为storage_id设置session.storage.filesystem时,Symfony2登录失败

时间:2012-08-24 10:16:31

标签: symfony phpunit

我正在尝试使用PHPUnit进行一些功能测试,但它要求我为config.yml中的storage_id选项添加session.storage.filesystem。
由于某种原因,这会导致登录过程失败。我在test.log中收到以下错误:
身份验证请求失败:您的会话已超时,或您已禁用Cookie 之后我再次被重定向到登录页面。我确定我启用了cookie并且应用程序无需设置该选项(使用本机会话存储) 谁能告诉我这个问题是否有任何解决方案?

1 个答案:

答案 0 :(得分:0)

尝试更改缓存文件夹的文件权限。如果它们设置不正确,就会发生这种情况:

  • 您开发内容并通过网络浏览器对其进行测试=>您的apache(或其他服务器)将创建缓存,并且将是唯一拥有该权限的人
  • 您从命令行启动phpunit测试(不同的unix用户)=>当前的unix用户没有对缓存文件夹的写访问权限,也无法存储会话。

立即修复以确认是这种情况:

chmod -R 777 app/cache/
phpunit -c app/

如果确实如此,请检查如何正确设置权限:http://symfony.com/doc/current/book/installation.html#configuration-and-setup