【问题标题】:Cannot connect mongoDB and PHP无法连接mongoDB和PHP
【发布时间】:2023-03-15 11:12:01
【问题描述】:

我在 macOS 10.11.6 的终端和运行 php 7.0.8 的 MAMP 服务器上成功运行了 mongoDB v3.2.10。

当我尝试通过 php 代码访问 mongo 时:

<?php
  // connect to mongodb
  $m = new MongoClient(); 
?>

网址:http://localhost:8888/Mongo/login.php

我明白了:

无法访问此网站

localhost 拒绝连接。

当我在本地端口到达 mongo 在网址:http://localhost:27017/Mongo/login.php

我明白了:

您似乎正试图在本机上通过 HTTP 访问 MongoDB 驱动程序端口。

知道我在这里缺少什么吗?

【问题讨论】:

  • 端口很重要,我假设您在端口 8888 上运行您的 apache,而 mongo 在端口 27017 上运行,所以地址 http://localhost:27017/Mongo/login.php 根本不要指向您的 php 文件,而 mongo 使用自己的协议 @ 987654326@ 而不是 http://
  • 关注这个教程链接tutorialspoint.com/mongodb/mongodb_php.htm它可以帮助你
  • @vighaneshmandavkar 本教程与我的问题无关。
  • @Kazz 你是对的。我想指出的是,我确定 mongo 正在运行,但是连接不起作用。
  • 尝试指定服务器,例如:new MongoClient('mongodb://127.0.0.1:27017');

标签: php mongodb mamp


【解决方案1】:

看起来您正在使用内置的 PHP Mongo DB 客户端。有一个新的 MongoDB 驱动程序可以替代它。您必须安装它。

http://php.net/manual/en/set.mongodb.php

较新的 MongoDB 扩展替换了内置的 PHP Mongo DB 客户端。您还需要从这里使用作曲家 PHPLIB MongoDB 客户端:http://php.net/manual/en/mongodb.tutorial.library.php

use MongoDB\Client;

try {
    $mongoDbClient = new Client('mongodb://localhost:27017');
} catch (Exception $error) {
    echo $error->getMessage(); die(1);
}

【讨论】:

    猜你喜欢
    • 2018-02-23
    • 2013-05-24
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多