1

我在 bootstrap/connections.php 中有未注释的 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() 添加 mongo 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

4 回答 4

4

确保您运行的是最新的 Lithium Git master。上一个发布版本是 0.9.9,从那时起,Mongo PECL 扩展进行了 3 次重大的 BC 重大更改。它们已固定在核心中,只是尚未发布。此外,用户名和密码不是强制性的。

于 2011-02-09T15:13:27.693 回答
0

我不得不降级我的 PECL 扩展才能让它工作。

于 2011-02-09T18:44:25.237 回答
0

也许是这张票(为我解决了):

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

于 2011-02-09T13:55:36.633 回答
0

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

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

于 2011-02-09T13:31:18.847 回答