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