Vagrant + Symfony2环境ContextErrorException怪异

时间:2014-04-30 10:11:43

标签: php symfony vagrant

在此之前,我从未遇到任何Symfony2或Vagrant的问题,而且我对于发生的事情我完全迷失了。

没有任何警告我的环境完全死亡,只会产生以下错误:

ContextErrorException: Warning: 
file_get_contents(/Users/Paul/Sites/Project/htdocs/project-web/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/exception_full.html.twig): 
failed to open stream: No such file or directory in /var/www/project-web/vendor/twig/twig/lib/Twig/Loader/Filesystem.php line 130

这很奇怪的原因是Symfony指的是我的本地文件系统......

/Users/Paul/Sites/Project/htdocs/project-web/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/exception_full.html.twig

....而不是运行Ubuntu的box environement,然后引用'Filesystem.php'的unix文件系统位置......

/var/www/project-web/vendor/twig/twig/lib/Twig/Loader/Filesystem.php

我无法通过此屏幕。我刚刚创建了一个全新的环境并将其打包为一个自己的盒子,然后使用该盒子我仍然会收到此错误。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:14)

我的第一个猜测是你先在本地运行它,路径在缓存中。如果是这样,应该通过在流浪环境中运行以下内容来修复它:

php app/console cache:clear

如果您正在运行app.php而不是app_dev.php,请添加--env=prod

答案 1 :(得分:1)

始终在流浪盒中使用命令行(通过ssh),永远不要在Windows路径上使用cmd。

vagrant up
vagrant ssh
... some auth ...
cd /your/project/path
php app/console ...

答案 2 :(得分:1)

我使用Homestead和Symfony 3.1。

我必须从主机中项目的根目录中删除var/cache文件夹。

rm -rf var/cache/解决了它。

之前,我尝试了php app/console cache:clear但没有结果。