【问题标题】:Symfony 2 CMF - Installing cmf sandboxSymfony 2 CMF - 安装 cmf 沙箱
【发布时间】:2014-11-28 19:49:25
【问题描述】:

我尝试从 git https://github.com/symfony-cmf/cmf-sandbox 安装 smf-sandbox

但我得到了错误:

可捕获的致命错误:传递给 Symfony\Cmf\Bundle\RoutingBundle\Admin\Extension\FrontendLinkExtension::__construct() 的参数 2 必须是 Symfony\Bundle\FrameworkBundle\Translation\Translator 的实例,Symfony\Component\ 的实例给定 Translation\LoggingTranslator,在第 5251 行的 \cmf\app\cache\dev\appDevDebugProjectContainer.php 中调用并定义

我开始使用 SF CMF,所以我不知道我必须在哪里搜索。 有人可以帮助我吗?

我试图在互联网上找到一些解决方案,但我找不到任何东西。

编辑: 当我尝试清除缓存时显示该错误。

【问题讨论】:

  • 为什么错误来自缓存?使用 symfony 控制台清除缓存。并安装所需的包(似乎翻译包上的错误。)并使用此页面启动symfony.com/doc/master/cmf/index.html
  • 当我尝试清除缓存时显示该错误。
  • 尝试手动清除缓存:在项目的根目录下,运行rm -rf app/cache/* app/logs/*

标签: php symfony symfony-cmf


【解决方案1】:

事实上,Symfony 2.6 之前的translator 服务是translator.default 的别名,不幸的是,这在 Symfony 2.6 中发生了变化,增加了 LoggingTranslator 功能。 (您可以通过运行php app/console container:debug 来验证这一点)

如果代码类型提示不正确,则需要显式使用translator.default 服务,translator 服务可能会导致错误。

查看this Github issue了解完整的内部结构。

【讨论】:

    【解决方案2】:

    您可以将 symfony/symfony 降级到 2.5.* 或将 symfony-cmf/routing-bundle 升级到 dev-master:

    在 composer.json 中 "require": { // to downgrade symfony: "symfony/symfony": "2.5.*", // OR "symfony-cmf/routing-bundle": "dev-master@dev", // upgrade CmfRoutingBundle } 其次是: $ composer update symfony-cmf/routing-bundle

    【讨论】:

      【解决方案3】:

      问题是这个新的扩展需要一个具体的类而不是一个接口,这在 Symfony 2.6 中成为一个问题。这是上周修复的,我现在刚刚发布了 1.3.3 版的 RoutingBundle。 您可以简单地composer update symfony-cmf/routing-bundle 而无需更改您的版本约束(假设您需要 1.3.*)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-21
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多