如何永久解决 Symfony2 twig_upper_filter 错误?

How to permanently resolve Symfony2 twig_upper_filter error?

情况:

  1. 生产模式
  2. 更改文件
  3. 网站上的一个页面 returns 出现以下 500 内部错误。
  4. 运行 composer 更新,错误消失。
  5. 换个文件和问题returns。

调用 twig_upper_filter 的代码深埋在现在嵌入 symfony bootstrap 模板中。

作曲家更新做了什么可能会解决这个问题?它是可重复的(仅在一台服务器上)。

UndefinedFunctionException: "Attempted to call function 
"twig_upper_filter" from the global namespace." at 

Symfony 2.6.

因为在 composer update 结束时它会清除缓存,每次你在某处更改某些内容时你需要清除缓存以使更改在生产环境中可见。

这在开发环境中是自动的。

您需要从控制台运行:

cd /your/symfony/app
php ./app/console cache:clear --env=prod

让网络服务器建立缓存解决了这个问题。命令行环境不能和web服务器完全一样php。在此服务器上,实际上很难 运行 作为 Web 服务器用户的命令行脚本。

因此,解决方法是在不预热的情况下在命令行上清除缓存:

php ./app/console cache:clear --no-warmup --env=prod