我正在使用app.request
作为检索区域设置,当前路线等各种常见用法。
{{ path(app.request.get('_route')) }}
{{ app.request.locale }}
它在Development
环境中工作正常,但在Production
中,变量只是空的。它始终返回null
个值,因此会导致所有类型的错误,如:
"Unable to generate a URL for the named route "" as such route does not exist."
如何在app.request
环境中访问Production
?
我应该澄清app.request
实际上“存在”,但由于某种原因,它总是返回空值而不是预期值。如果我在app.request
下调用不存在的方法,例如app.request.thisdoesnotexist
,我会收到错误:
Method "thisdoesnotexist" for object "Symfony\Component\HttpFoundation\Request" does not exist in...
但我没有收到此错误,因此app.request
实际上已定义,但为空。
答案 0 :(得分:0)
app.request
适用于任何环境。但你错过了)
:
{{ path('"'~app.request.get('_route')~'"') }}
{{ app.request.locale }}
或尝试测试:
{{ app.request.get('_route') }}
{{ app.request.locale }}
答案 1 :(得分:0)
最后我找到了解决方案。这是我的特定设置的部署问题,但它可以帮助处于类似情况的其他人。
缩短:使用
重建bootstrap.php
php vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php
如果出于任何原因,您被迫使用composer
选项在Production
中运行--no-scripts
次更新(因为我由于共享托管限制),忘记重建该文件可能会导致这个问题。