2014-03-13 29 views
1

我使用本教程http://blog.tankist.de/blog/2013/07/17/oauth2-explained-part-2-setting-up-oauth2-with-symfony2-using-fosoauthserverbundle/symfony中的OAuth2驗證失敗:沒有DTD發現

我有錯誤

php app/console doctrine:schema:update --dump-sql 



    [Symfony\Component\Config\Exception\FileLoaderLoadException]                      
    Cannot import resource "/home/miejsce/public_html/src/Acme/DemoBundle/Resources/config/services.xml" from "/home/miejsce/public_html/app/config 
    /config.yml". (Unable to parse file "/home/miejsce/public_html/src/Acme/DemoBundle/Resources/config/services.xml".)        






    [Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]       
    Unable to parse file "/home/miejsce/public_html/src/Acme/DemoBundle/Resources/config/services.xml". 



    [InvalidArgumentException]              
    [ERROR 94] Validation failed: no DTD found ! (in n/a - line 2, column 12)  
    [ERROR 5] Extra content at the end of the document (in n/a - line 7, column 1) 

的services.xml費爾是複製和從手工粘貼到這裏是源

<!-- src/Acme/DemoBundle/Resources/config/services.xml --> 
<parameters> 
    <parameter key="platform.entity.user.class">Acme\DemoBundle\Entity\User</parameter> 
    <parameter key="platform.user.provider.class">Acme\DemoBundle\Provider\UserProvider</parameter> 
</parameters> 

<services> 
<service id="platform.user.manager" class="Doctrine\ORM\EntityManager" 
     factory-service="doctrine" factory-method="getManagerForClass"> 
    <argument>%platform.entity.user.class%</argument> 
</service> 

<service id="platform.user.repository" 
     class="Acme\DemoBundle\Repository\UserRepository" 
     factory-service="platform.user.manager" factory-method="getRepository"> 
    <argument>%platform.entity.user.class%</argument> 
</service> 

<service id="platform.user.provider" class="%platform.user.provider.class%"> 
    <argument type="service" id="platform.user.repository" /> 
</service> 
</services> 

只有一個區別我從手動 - 我加

進口: ** - {資源:@ AcmeDemoBundle /資源/配置/ services.xml中}

到config.yml的需要,我認爲

在那裏我可以有錯誤?

UPDATE1

我revrite配置到陽明現在有

parameters: 
    platform.entity.user.class: Acme\DemoBundle\Entity\User 
    platform.user.provider.class: Acme\DemoBundle\Provider\UserProvider 
services: 
    platform.user.manager: 
     class:   "%doctrine.entity_managers%" 
     factory_service: doctrine 
     factory_method: getManagerForClass 
     arguments: 
        - "%platform.entity.user.class%" 
    platform.user.repository: 
     class:   Acme\DemoBundle\Repository\UserRepository 
     factory_service: platform.user.manager 
     factory_method: getRepository 
     arguments: 
        - "%platform.entity.user.class%" 

    platform.user.provider: 
     class:   "%platform.user.provider.class%" 
     arguments: 
        - "@platform.user.repository" 

索裏依然是錯誤:

php app/console doctrine:schema:update --force 
PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /home/miejsce/public_html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php on line 117 
PHP Warning: strpos() expects parameter 1 to be string, array given in /home/miejsce/public_html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php on line 508 
PHP Notice: Array to string conversion in /home/miejsce/public_html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php on line 508 
PHP Notice: Array to string conversion in /home/miejsce/public_html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php on line 508 
Nothing to update - your database is already in sync with the current entity metadata. 

當我運行得到更迭:

php app/console acme:oauth-server:client:create --redirect-uri="http://clinet.local/" --grant-type="authorization_code" --grant-type="password" --grant-type="refresh_token" --grant-type="token" --grant-type="client_credentials" 
Added a new client with public id 3_4gn1mzg8lnackso0s8c0o0gk004sgkog4000o4gg8ss4s40g4, secret 6bq5vs50kuossgs08ccsgskwc0ow4ssosw8k084cgk0w0wo8cg 

但在頁面

FatalErrorException:編譯錯誤:在/home/miejsce/public_html/src/Acme/DemoBundle/Controller/SecurityController.php線不能重新聲明類的Acme \ DemoBundle \ SecurityController 0

回答

1

你正試圖從一個YML配置文件導入XML服務文件。 YML閱讀器遵循導入並試圖解析導致錯誤的XML。

爲什麼你需要做那個導入?如果真的需要,也許你不能嘗試重寫XML服務配置YML

+0

我重寫了它,但仍然是錯誤 –

+0

將類傳遞給服務時,請勿將其包含在%中。你也傳遞類名作爲參數而不是服務。 – Nodens

+0

我現在改寫可以嗎? –