2011-02-09 95 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擴展才能正常工作。