2011-11-02 14 views
11

estoy siguiendo las instrucciones aquí: deps http://symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.htmlDoctrineMongoDBBundle recibiendo un error fatal en Symfony2

he instalado:

#deps 
[doctrine-mongodb] 
    git=http://github.com/doctrine/mongodb.git 

[doctrine-mongodb-odm] 
    git=http://github.com/doctrine/mongodb-odm.git 

[DoctrineMongoDBBundle] 
    git=http://github.com/symfony/DoctrineMongoDBBundle.git 
    target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle 

luego hicieron $ php bin/vendors install

he añadido lo siguiente:

# app/autoload.php 
$loader->registerNamespaces(array(
    // .... 
    'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib', 
    'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib', 
    'Doctrine\\ODM\\MongoDB' => __DIR__.'/../vendor/doctrine-mongodb-odm/lib', 
    'Doctrine\\MongoDB'   => __DIR__.'/../vendor/doctrine-mongodb/lib', 
    'Doctrine'   => __DIR__.'/../vendor/doctrine/lib', 
    // .... 
)); 

AnnotationRegistry::registerFile(
    __DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php' 
); 
AnnotationRegistry::registerFile(
    __DIR__.'/../vendor/doctrine-mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/Annotations/DoctrineAnnotations.php' 
); 

I also ad ded

# app/AppKernel.php 
$bundles = array(
    //.... 
    new Symfony\Bundle\DoctrineMongoDBBundle\DoctrineMongoDBBundle(), 
    //.... 
); 

Y la configuración de mi doctrina es así:

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: %database_driver% 
     host:  %database_host% 
     port:  %database_port% 
     dbname: %database_name% 
     user:  %database_user% 
     password: %database_password% 
     charset: UTF8 

    orm: 
     auto_generate_proxy_classes: %kernel.debug% 
     auto_mapping: true 

doctrine_mongodb: 
    connections: 
     default: 
      server: mongodb://localhost:27017 
      options: 
       connect: true 
    default_database: dbtest 
    document_managers: 
     default: 
      auto_mapping: true 

Pero cuando cargo la aplicación me sale el siguiente error:

Fatal error: Class 'Symfony\Bridge\Doctrine\DependencyInjection\AbstractDoctrineExtension' not found in /Volumes/Master/SITES/example/vendor/bundles/Symfony/Bundle/DoctrineMongoDBBundle/DependencyInjection/DoctrineMongoDBExtension.php on line 31 

Call Stack: 
    0.0002  643984 1. {main}() /Volumes/Master/SITES/example/web/app_dev.php:0 
    0.0175 5274704 2. Symfony\Component\HttpKernel\Kernel->handle() /Volumes/Master/SITES/example/web/app_dev.php:31 
    0.0176 5274800 3. Symfony\Component\HttpKernel\Kernel->boot() /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/HttpKernel/Kernel.php:168 
    0.0212 5592040 4. Symfony\Component\HttpKernel\Kernel->initializeContainer() /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/HttpKernel/Kernel.php:127 
    0.0232 5662744 5. Symfony\Component\HttpKernel\Kernel->buildContainer() /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/HttpKernel/Kernel.php:545 
    0.0430 8473952 6. Symfony\Bundle\DoctrineMongoDBBundle\DoctrineMongoDBBundle->getContainerExtension() /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/HttpKernel/Kernel.php:630 
    0.0430 8474568 7. Symfony\Component\ClassLoader\DebugUniversalClassLoader->loadClass() /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php:0 
    0.0437 8623704 8. require('/Volumes/Master/SITES/example/vendor/bundles/Symfony/Bundle/DoctrineMongoDBBundle/DependencyInjection/DoctrineMongoDBExtension.php') /Volumes/Master/SITES/example/vendor/symfony/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php:55 

Mi aplicación estaba usando MySQL pero quiero evaluar mongodb.

Respuesta

26

intente fijar versión del lote:

[DoctrineMongoDBBundle] 
    git=http://github.com/symfony/DoctrineMongoDBBundle.git 
    target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle 
    version=v2.0.0 

y recuerde usar siempre bin/vendors install - no bin/vendors update. A menos que estés desarrollando Symfony, por supuesto.

+0

¡Gracias, trabajado! ¿Qué te hizo pensar sobre esa solución? – ed209

+1

He estado utilizando este paquete durante un par de meses y dejó de funcionar hoy después de ejecutar 'bin/vendors install' para actualizar los paquetes. Así que pensé que los desarrolladores cambiaron algo. Como estaba en 'master', solo era cuestión de tiempo. Así que busqué una etiqueta en el repositorio del paquete y me apegué a ella. –

+0

Tuve el mismo problema y esto también funcionó para mí. –

Cuestiones relacionadas