【问题标题】:MongoClient() object returning 500 Internal error instead of a blank pageMongoClient() 对象返回 500 内部错误而不是空白页
【发布时间】:2020-10-28 11:50:24
【问题描述】:

我已经安装了php7.2MongoDB v4.2.8,相关驱动使用pecl,更新了我的php.ini文件,在extension=mongodb.soextension=mongodb.so行。

我尝试创建一个包含三个文本框字段的简单 HTML Web 表单,如下所示:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Test</title>
  </head>
  <body>
    <h1>Insert to MongoDB</h1>
    <form action="insert.php" method="post">
      <input type="text" name="name" value="">
      <input type="text" name="mobile" value="">
      <input type="text" name="email" value="">
      <button type="submit" name="button">Insert</button>
    </form>
  </body>
</html>

当我单击Insert 按钮时,理想情况下这些应该是 snet 到 MongoDB。我有一个 insert.php 文件,它有一行来创建一个新的 MongoClient 对象,如下所示:

<?php
      // $mongo = new MongoClient("mongodb://127.0.0.1:27017");
      // $manager = new MongoDB\Driver\Manager();
      $mongo = new MongoDB\Client("mongodb://<ec2-public-dns-name>");
      // var_dump($manager);
    ?>

我试过MongoClient()MongoClient(localhost:27017");MongoClient("&lt;ec2-public-DNS-name&gt;:27017");MongoClient("&lt;ec2-public-IP&gt;:27017");MongoDB\Client("mongodb://&lt;ec2-public-dns-name&gt;");

无论我尝试什么,它都会返回 500 错误。如果代码中没有错误,理想情况下它应该返回一个空白页。如果创建了这个对象,那么我将进入创建数据库对象的下一步,然后执行$collection-&gt;insert($document) 命令。

【问题讨论】:

  • 我读到here 说班级发生了变化。试试new MongoDB\Driver\Manager();
  • 哇。谢谢帕特。它就像一个魅力。节省了我很多时间。 +1 回复。! :)
  • 我会将其添加为文档的答案。请接受。很高兴我能帮上忙:)

标签: mongodb amazon-ec2 php-7.2


【解决方案1】:

对于 php 版本 7.X,mongo 类已更改。有关更新的课程,请参阅以下链接。

https://www.php.net/manual/en/set.mongodb.php

创建一个驱动对象为:

$mongo = new MongoDB\Driver\Manager();

来自this 答案的见解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 2023-03-15
    • 1970-01-01
    • 2019-07-10
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多