Symfony2 Twig_Error_Loader - Twig找不到模板

时间:2014-05-15 13:11:06

标签: php symfony deployment twig

我找了一会儿,但找不到解决方案。我有一个我正在尝试部署的Symfony2项目。我的结论就是:

/www/my_app/ -> where lives all symfony folders (app, bin, src and vendor) but 'web'
/www/public_html/my_app/ -> this is the 'web' folder renamed to 'my_app'

通过这种结构,我改变了app.php中的路线:

$loader = require_once __DIR__.'/../../my_app/app/bootstrap.php.cache';
require_once __DIR__.'/../../my_app/app/AppKernel.php';

我收到了这个错误:

Fatal error: Uncaught exception 'Twig_Error_Loader' with message 'The "D:\www\public_html\my_app\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle/Resources/views" directory does not exist.' in D:\www\my_app\vendor\twig\twig\lib\Twig\Loader\Filesystem.php on line 93
Twig_Error_Loader: The "D:\www\public_html\my_app\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle/Resources/views" directory does not exist. in D:\www\my_app\vendor\twig\twig\lib\Twig\Loader\Filesystem.php on line 93

问题是Twig试图加载的文件不会存在于“D:\ www \ public_html \ my_app \ vendor”中,而是存在于“D:\ www \ my_app \ vendor”中。

我希望你能解决问题。我在apache中运行应用程序。

提前感谢任何评论。

1 个答案:

答案 0 :(得分:1)

我不确定它是否会对您的情况有所帮助,但是当我想从控制器中的其他目录加载twig模板时我会运行:

$this->get('twig.loader')->addPath('../app');       

这只是我告诉Twig的例子 - "我还想使用其他../app路径的模板"。