2011-11-02 19 views
11

Obserwuję kierunki tutaj: http://symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.htmlDoctrineMongoDBBundle się błąd krytyczny w Symfony2

Mam zainstalowany deps:

#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 

następnie zrobił $ php bin/vendors install

dodałem następujące:

# 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' 
); 

Również reklama ded

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

A moja konfiguracja doktryna wygląda następująco:

# 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 

Ale kiedy załadować aplikację, pojawia się następujący błąd:

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 

Moja aplikacja została MySQL ale chcę oceniać mongodb.

Odpowiedz

26

Spróbuj mocowania wiązki za wersję:

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

I pamiętaj, aby zawsze używać bin/vendors install - nie bin/vendors update. Chyba że sam tworzysz Symfony.

+0

Dzięki, pracował! Co sprawiło, że pomyślałeś o tym rozwiązaniu? – ed209

+1

Używam tego pakietu przez kilka miesięcy i przestał działać dzisiaj po uruchomieniu 'bin/vendors install' do aktualizacji pakietów. Więc pomyślałem, że programiści coś zmienili. Ponieważ byłem na 'master', to tylko kwestia czasu. Więc spojrzałem na etykietę w repozytorium pakunku i przykleiłem się do niego. –

+0

Miał ten sam problem i to również zadziałało dla mnie. –

Powiązane problemy