3

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

4

1 回答 1

0

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

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

立即修复以验证是否属于这种情况:

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

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

于 2012-10-29T07:00:19.790 回答