【问题标题】:Symfony 4 - Weird errorsSymfony 4 - 奇怪的错误
【发布时间】:2019-03-10 01:51:02
【问题描述】:

我现在精神崩溃了,我的头撞到了不同的墙上。 我正在尝试让我的应用程序在线进行生产,并且已经尝试了数周。 我经常遇到这个错误:Symfony - twig - Autoloader expected class

现在,它已经进化了,我有这个:

有时,在清除缓存后,运行 composer install / update 十几次,这个错误消失了......我又得到了旧的错误!

如果你遇到过这样的事情,请帮忙

【问题讨论】:

  • 好像你已经声明了 Twig 两次。我会看看作曲家或您自动连接 Twig 的服务?
  • 此错误仅在生产环境中还是您的本地环境?
  • 您是否尝试过运行不同的环境,例如在您的产品服务器上登台?

标签: symfony


【解决方案1】:

您如何在 prod 环境中进行部署? 也许有些文件翻了一番,所以加载器无法正确识别它们? 一些部署方法不会删除项目中删除的文件(phpstorm deploy)。

上次我在使用 Twig_Environment 时遇到了错误。那是在我将项目的 Symfony 版本从 3.3 升级到 3.4 之后。

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

_defaults:
    public: true

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

我也读过你的上一篇文章。所以你无权访问控制台,是吗?

也许尝试将您的项目(本地)的第二个实例设置为 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、生成的资产等。这应该发生在每个站点更新。 没有 ssh 访问的 Sf 项目真的很糟糕。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2014-10-11
    相关资源
    最近更新 更多