【发布时间】:2017-11-30 19:56:16
【问题描述】:
我一直在努力将现有的 Symfony3 Web 应用从本地 LAMP 主机迁移到 Goggle 的 App Engine 标准 PHP 环境。我从appengine-symfony-starter-project 获得了使用 Memcache 进行会话、预缓存应用程序代码并连接到 Cloud SQL MySQL 数据库的提示。让核心部件正常工作。
我使用 TWIG 模板在 /login 添加了一个登录表单,其中的表单如下所示:
<form class="form" action="{{ path('security_login') }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
<div class="form-group">
<input class="form-control" id="email" type="text" name="_email" placeholder="Email" value="{{ last_username }}"/>
</div>
<div class="form-group">
<input class="form-control" id="password" type="password" name="_password" placeholder="Password"/>
</div>
<div class="form-group">
<input type="checkbox" id="remember_me" name="_remember_me" checked>
<label for "remember_me">Remember Me</label>
</div>
<div class="form-group">
<button class="btn btn-round btn-b">Login</button>
</div>
<div class="form-group"><a href="{{ path('security_reset') }}">Forgot Password?</a></div>
</form>
这在本地 DEV 和 TEST 环境中运行良好,但是当我将其推送到 GAE 时,我收到以下错误:
Unable to load the "Symfony\Bridge\Twig\Form\TwigRenderer" runtime.
我已经挖掘了几个小时,但没有发现这里出了什么问题。有谁知道去哪里看?
提前致谢,
【问题讨论】:
-
我无法复制该错误,但您是否在 app/config.yml 中启用了
framework.templating.engines: ['twig']?您的 composer.lock 文件是否列出了 twig/twig?另外,清除缓存。 -
其他使用 Twig 模板的页面运行良好,我认为这不是问题。与我之前链接的启动项目一起,采取了一些额外的步骤,以便缓存预热工作,一旦部署,我们不必对文件系统进行任何写入,因为这是不允许的。我担心可能需要更多的热身。
标签: php symfony google-app-engine