Symfony 4-奇怪的错误

时间:2018-10-04 15:38:32

标签: symfony

我目前精神崩溃,把头撞在不同的墙壁上。 我正在尝试将我的应用发布到产品上,并且已经尝试了好几个星期。 我经常遇到此错误:Symfony - twig - Autoloader expected class

现在,它已经进化了,我有这个:enter image description here

有时候,清除缓存后,运行composer安装/更新了十几次,此错误消失了,.....我又得到了旧错误!

如果您曾经看过类似这样的内容,请提供帮助

1 个答案:

答案 0 :(得分:0)

您如何在产品环境中进行部署? 也许有些文件加倍了,所以加载程序无法正确识别它们? 某些部署方法不会删除在项目中删除的文件(PHP Storm部署)。

上次我在Twig_Environment上出错。就是在我将项目的Symfony版本从3.3升级到3.4之后。

对于Sf 3.3,在启用的捆绑包中,在services.yml上定义的所有服务都是PUBLIC。 从3.4开始,它们默认都是PRIVATE。 我所做的是在我拥有的每个services.yml文件中添加一些.yml代码:

_defaults:
    public: true

没有此代码,Twig_Environment无法看到某些Twig扩展和其他类。

我也阅读了您的最后一篇文章。所以您无权访问控制台,是吗?

也许尝试让您的项目的第二个实例(本地)在此实例中一切都设置为prod env? 然后尝试:

composer dump-autoload -o

以及其他产品准备工作

php bin/console a:install --symlink
php bin/console a:dump --env=prod
php bin/console c:c --env=prod

此后,您应该在生产服务器上上传vendor / autoload.php,生成的资产等。并且这应该发生在每个站点更新中。 SF项目没有SSH访问权限真的很糟糕。