2011-11-02 36 views
11

tôi theo các hướng dẫn ở đây: DEPS http://symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.htmlDoctrineMongoDBBundle nhận được một lỗi nghiêm trọng trong Symfony2

Tôi đã cài đặt:

#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 

sau đó đã làm $ php bin/vendors install

tôi thêm như sau:

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

Tôi cũng quảng cáo ded

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

Và cấu hình học thuyết của tôi trông giống như:

# 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 

Nhưng khi tôi tải các ứng dụng tôi nhận được lỗi sau:

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 

Ứng dụng của tôi đã sử dụng MySQL nhưng tôi muốn đánh giá mongodb.

Trả lời

26

Cố gắng sửa chữa phiên bản của gói:

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

Và hãy nhớ luôn luôn sử dụng bin/vendors install - không bin/vendors update. Trừ khi bạn đang phát triển bản thân Symfony, tất nhiên rồi.

+0

Cảm ơn, đã làm việc! Điều gì khiến bạn nghĩ về giải pháp đó? – ed209

+1

Tôi đã sử dụng gói này trong một vài tháng và nó ngừng hoạt động hôm nay sau khi tôi chạy 'bin/vendor install' để cập nhật các gói. Vì vậy, tôi thấy rằng các nhà phát triển đã thay đổi một cái gì đó. Vì tôi đang ở trên 'chủ nhân', nó chỉ là vấn đề thời gian. Vì vậy, tôi tìm một thẻ trong repo của gói và dán vào nó. –

+0

Đã có cùng một vấn đề và điều này cũng làm việc cho tôi. –

Các vấn đề liên quan