2011-02-09 93 views
1

我在引导/ connections.php uncomented MongoDB的连接,一切似乎是确定,但现在我得到以下错误:无法连接到MongoDB的锂

(!) Fatal error: Uncaught exception 'lithium\core\NetworkException' with message 'Could not connect to the database.' in C:\wamp\www\libraries\lithium\data\source\MongoDb.php on line 792 
    (!) lithium\core\NetworkException: Could not connect to the database. in C:\wamp\www\libraries\lithium\data\source\MongoDb.php on line 792 
    Call Stack 
    # Time Memory Function Location 
    1 0.0004 370296 {main}() ..\index.php:0 
    2 0.0328 2618640 lithium\action\Dispatcher::run() ..\index.php:36 
    3 0.0328 2619848 lithium\core\StaticObject::_filter() ..\Dispatcher.php:122 
    4 0.0329 2621472 lithium\util\collection\Filters::run() ..\StaticObject.php:128 
    5 0.0330 2623800 {closure}() ..\Filters.php:182 
    6 0.0397 2692456 lithium\util\collection\Filters->next() ..\cache.php:47 
    7 0.0397 2692488 {closure}() ..\Filters.php:201 
    8 0.0428 2720784 lithium\util\collection\Filters->next() ..\action.php:52 
    9 0.0428 2720816 lithium\action\{closure}() ..\Filters.php:201 
    10 0.0448 2756432 lithium\core\StaticObject::invokeMethod() ..\Dispatcher.php:121 
    11 0.0448 2756464 lithium\action\Dispatcher::_call() ..\StaticObject.php:74 
    12 0.0449 2757552 lithium\core\StaticObject::_filter() ..\Dispatcher.php:203 
    13 0.0449 2757808 lithium\action\{closure}() ..\StaticObject.php:121 
    14 0.0449 2757808 lithium\action\Controller->__invoke() ..\Dispatcher.php:200 
    15 0.0449 2759408 lithium\core\Object->_filter() ..\Controller.php:184 
    16 0.0449 2759688 lithium\action\{closure}() ..\Object.php:245 
    17 0.0450 2759936 lithium\core\Object->invokeMethod() ..\Controller.php:172 
    18 0.0450 2759968 app\controllers\PostsController->add() ..\Object.php:167 
    19 0.0643 3862976 lithium\data\entity\Document->save() ..\PostsController.php:25 
    20 0.0643 3863176 lithium\data\Entity->__call() ..\Entity.php:0 
    21 0.0644 3863672 call_user_func_array () ..\Entity.php:197 
    22 0.0644 3863936 lithium\data\Model->save() ..\Entity.php:0 
    23 0.0644 3867352 lithium\data\Model::_filter() ..\Model.php:719 
    24 0.0645 3867608 lithium\core\StaticObject::_filter() ..\Model.php:891 
    25 0.0645 3867728 lithium\data\{closure}() ..\StaticObject.php:121 
    26 0.0723 4182168 lithium\data\source\MongoDb->create() ..\Model.php:713 
    27 0.0723 4182168 lithium\data\source\MongoDb->_checkConnection() ..\MongoDb.php:346 

似乎有点儿奇怪的问题,我。确切地说,是遵循锂博客教程。

编辑从添加的phpinfo蒙戈DB配置()

mongo 
MongoDB Support enabled 
Version  1.1.3 

Directive Local Value Master Value 
mongo.allow_empty_keys 0 0 
mongo.allow_persistent 1 1 
mongo.auto_reconnect 1 1 
mongo.chunk_size 262144 262144 
mongo.cmd $ $ 
mongo.default_host localhost localhost 
mongo.default_port 27017 27017 
mongo.long_as_object 0 0 
mongo.native_long 0 0 
mongo.no_id 0 0 
mongo.utf8 1 1 

回答

4

确保您正在运行锂的最新的Git大师。最新发布的版本是0.9.9,从那以后,Mongo PECL扩展做出了3次重大的BC破坏性更改。它们在核心中得到了修复,但它们还没有被推出发布。另外,用户名和密码不是强制性的。

0

假设你有正确的主机,端口和登录信息请确保您有MongoDB的扩展名的最新版本。

我有类似的问题。 Li3使用旧版本不支持的mongodb://{$login}{$host}/{$cfg['database']}

+0

已有最新版本1.1.4尝试较旧的一个1.1.3同样的事情发生...... – Marius 2011-02-09 13:34:58

0

也许是这个票(解决它对于我来说):

http://rad-dev.org/lithium/tickets/view/204

+0

实际上,似乎连接到MongoDB的用户名和密码是强制性的。非常奇怪的 – Marius 2011-02-09 14:35:52

+0

对我来说,它与用户名/密码无关(我不确定是否设置了通行证),但是使用`persistant`标志,我必须设置为`somevalue`(false didn 't工作) – harpax 2011-02-09 15:03:28

+0

实际上你的票据帮助我添加到连接数组'persistent'=>'foo'现在它连接到mongo – Marius 2011-02-09 15:34:04

0

我不得不降级我的PECL扩展才能正常工作。