Php 安装Symfony2 CMF时出现无效配置异常

Php 安装Symfony2 CMF时出现无效配置异常,php,symfony,symfony-sonata,symfony-cmf,Php,Symfony,Symfony Sonata,Symfony Cmf,刚刚进入Symfony2,我想使用CMF包 我在这里遵循食谱: 跑步时 composer.phar update 我得到这个错误: [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException] When the dynamic r

刚刚进入Symfony2,我想使用CMF包

我在这里遵循食谱:

跑步时

composer.phar update
我得到这个错误:

    [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]                                                                                
  When the dynamic router is enabled, you need to either enable one of the persistence layers or set the cmf_routing.dynamic.route_provider_service_id option  
路由\提供商\服务\ id的正确设置是什么?我找不到关于这个的任何文档

config.yml

# CMF config
cmf_routing:
chain:
    routers_by_id:
        cmf_routing.dynamic_router: 200
        router.default: 100
dynamic:
    enabled: true
    route_provider_service_id: ~
sonata_block:
    default_contexts: [cms]
这是我的composer.json文件:

{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
    "psr-0": { "": "src/" }
},
"minimum-stability": "dev",
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.3.*",
    "doctrine/orm": ">=2.2.3,<2.4-dev",
    "doctrine/doctrine-bundle": "1.2.*",
    "twig/extensions": "1.0.*",
    "symfony/assetic-bundle": "2.3.*",
    "symfony/swiftmailer-bundle": "2.3.*",
    "symfony/monolog-bundle": "2.3.*",
    "sensio/distribution-bundle": "2.3.*",
    "sensio/framework-extra-bundle": "2.3.*",
    "sensio/generator-bundle": "2.3.*",
    "incenteev/composer-parameter-handler": "~2.0",
    "jackalope/jackalope-doctrine-dbal": "dev-master",
    "doctrine/phpcr-bundle": "1.0.*",
    "doctrine/phpcr-odm": "1.0.*",
    "symfony-cmf/symfony-cmf": "1.0.*"
},
"scripts": {
    "post-install-cmd": [
        "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
    ],
    "post-update-cmd": [
        "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
    ]
},
"config": {
    "bin-dir": "bin"
},
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml"
    },
    "branch-alias": {
        "dev-master": "2.3-dev"
    }
}
{
“名称”:“symfony/framework标准版”,
“许可证”:“麻省理工学院”,
“类型”:“项目”,
“说明”:“Symfony标准版”发行版,
“自动加载”:{
“psr-0”:{”“:“src/”}
},
“最小稳定性”:“dev”,
“要求”:{
“php”:“>=5.3.3”,
“symfony/symfony”:“2.3.*”,

“条令/orm”:“>=2.2.3,您需要配置路由提供程序。否则路由器将不知道如何加载路由。动态路由器的思想是您可以从数据库加载路由,因此您需要告诉它如何加载路由。您可以启用persistence.phpcr或persistence.orm,或者提供您自己的服务

这里介绍了cmf路由

这里还有更多的细节(我只是与路由提供者进一步澄清了这一点,因为我意识到它不是很明确)

路由的配置参考如下:

不知道我在动态配置中使用的设置,我仍然会遇到错误:当启用动态路由器时,您需要启用其中一个持久层或设置cmf_routing.Dynamic.route_provider_service_id选项。最好在github上打开一个问题,因为我在此处没有收到注释通知。如果您设置了持久化orm或PHTo为true或配置了route_provider_service_id选项(阅读链接的文档以了解需要在那里执行的操作),消息应该会消失。