【问题标题】:Issue with routing symfony2路由 symfony2 的问题
【发布时间】:2016-03-10 02:41:12
【问题描述】:

我正在尝试将我的应用程序缓存清除到 prod 环境。但是我一直运行此行:app/console cache:clear --env=prod 在下面返回此错误:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
“核心”下无法识别的选项“资源、类型、前缀”

我的路由文件是这样的:

//routing.yml
core:
    resource: "@CoreBundle/Controller/"
    type:     annotation
    prefix:   /

在这个项目中,我有一个名为 CoreBundle 的文件夹,在这个文件夹内有一个 DependencyInjection 文件夹,其中包含这两个文件:

//congiguration.php
class Configuration implements ConfigurationInterface
{
    /**
     * {@inheritdoc}
     */
    public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('core');

        return $treeBuilder;
    }
}
//CoreExtension.php
class CoreExtension extends Extension
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.xml');
    }
}

我不知道为什么 symfony 不能识别这个选项... 谁能帮帮我?

谢谢大家

【问题讨论】:

  • 您确定routing.yml 确实是您的路由文件吗?您是在app/config/config.yml 中的imports 中链接到它,而不是通过framework.router.resource 配置键?从您的错误的外观来看,它正在尝试将您的路线注册为您的 core 捆绑包的配置,而不是路线。
  • 我这样做是因为如果我从我的项目中删除路由文件并再次运行控制台上方的命令会返回此错误:[Symfony\Component\Config\Exception\FileLoaderLoadException] 文件“routing.yml " 不存在
  • 张贴你的app/config/config.yml 提到routing.yml
  • 感谢您的评论我有一个想法并添加框架:路由器:资源:“%kernel.root_dir%/config/prod/routing.yml”strict_requirements:〜我的config.yml表单产品文件夹和工作!!!非常感谢!!

标签: symfony exception routing options


【解决方案1】:

尝试通过app/console debug:router 使用symfony 控制台调试您的路由器,检查您的路由器是否已注册。如果不是,可能您的注释无效。

见: http://symfony.com/doc/current/book/routing.html#including-external-routing-resources

【讨论】:

  • 是的,返回我所有的路线。这很奇怪,因为在开发模式下一切正常......当我尝试将其置于 prod 模式时才会出现此错误。我忘了说我在配置中做了 3 个文件夹。通用、开发和产品。公共文件夹包含 config.yml、routing.yml、security 和 services。 dev 文件夹包含 config.yml、parameters.yml 和 routing.yml。 prod 文件夹包含 config.yml、parameters.yml 和 routing.yml。我已经按照这个配置:symfony.com/doc/current/cookbook/configuration/…这可能会导致问题?
猜你喜欢
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 2016-04-19
相关资源
最近更新 更多