DoctrineMongoDBBundle得到一个致命的错误在Symfony2中
问题描述:
我在这里按照以下指示: http://symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.htmlDoctrineMongoDBBundle得到一个致命的错误在Symfony2中
我已经安装了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
然后做$ php bin/vendors install
我增加了以下内容:
# 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'
);
我也是ad DED
# app/AppKernel.php
$bundles = array(
//....
new Symfony\Bundle\DoctrineMongoDBBundle\DoctrineMongoDBBundle(),
//....
);
我的学说的配置是这样的:
# 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
但是当我加载应用程序,我得到以下错误:
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
我的应用程序是使用MySQL,但我想评估mongodb。
答
尝试固定捆绑的版本:
[DoctrineMongoDBBundle]
git=http://github.com/symfony/DoctrineMongoDBBundle.git
target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle
version=v2.0.0
而且记得要经常使用bin/vendors install
- 不bin/vendors update
。当然,除非你正在开发Symfony本身。
谢谢,工作!是什么让你想到这个解决方案? – ed209
我一直在使用这个包几个月,并且在我运行'bin/vendors install'来更新包之后,它今天停止工作。所以我认为开发者改变了一些东西。由于我是'主人',这只是时间问题。于是我在捆绑软件的回购中查找了一个标签,并坚持使用它。 –
有同样的问题,这也为我工作。 –