PHP原生代码连接MongoDB

2023-05-16

MongoDB环境配置已经完成,如下图所示,但是程序中(PHP7.4.12)始终无法加载 MongoClient类,下面用了其它方案来解决这个问题。
 

1

2

3

4

5

6

7

<?php

$m new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:27017

$db $m->test; // 获取名称为 "test" 的数据库

exit;

使用如上代码测试MongoDb连接的时候:

Fatal error: Uncaught Error: Class 'MongoClient' not foun

如何处理上述问题呢,在另外一篇博文中找到了答案,先用 get_declared_classes() 查看当前已经加载的类


<?php
$list = get_declared_classes();
foreach ($list as $v){
    if(strpos($v, 'MongoDB') !== false){
        echo $v .PHP_EOL;
    }
}  

运行结果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

MongoDB\BSON\Binary    

MongoDB\BSON\DBPointer    

MongoDB\BSON\Decimal128    

MongoDB\BSON\Int64    

MongoDB\BSON\Javascript    

MongoDB\BSON\MaxKey    

MongoDB\BSON\MinKey    

MongoDB\BSON\ObjectId    

MongoDB\BSON\Regex    

MongoDB\BSON\Symbol    

MongoDB\BSON\Timestamp    

MongoDB\BSON\Undefined    

MongoDB\BSON\UTCDateTime    

MongoDB\Driver\BulkWrite    

MongoDB\Driver\ClientEncryption    

MongoDB\Driver\Command    

MongoDB\Driver\Cursor    

MongoDB\Driver\CursorId    

MongoDB\Driver\Manager    

MongoDB\Driver\Query    

MongoDB\Driver\ReadConcern    

MongoDB\Driver\ReadPreference    

MongoDB\Driver\Server    

MongoDB\Driver\ServerApi    

MongoDB\Driver\ServerDescription    

MongoDB\Driver\TopologyDescription    

MongoDB\Driver\Session    

MongoDB\Driver\WriteConcern    

MongoDB\Driver\WriteConcernError    

MongoDB\Driver\WriteError    

MongoDB\Driver\WriteResult    

MongoDB\Driver\Exception\RuntimeException    

MongoDB\Driver\Exception\ServerException    

MongoDB\Driver\Exception\ConnectionException    

MongoDB\Driver\Exception\WriteException    

MongoDB\Driver\Exception\AuthenticationException    

MongoDB\Driver\Exception\BulkWriteException    

MongoDB\Driver\Exception\CommandException    

MongoDB\Driver\Exception\ConnectionTimeoutException    

MongoDB\Driver\Exception\EncryptionException    

MongoDB\Driver\Exception\ExecutionTimeoutException    

MongoDB\Driver\Exception\InvalidArgumentException    

MongoDB\Driver\Exception\LogicException    

MongoDB\Driver\Exception\SSLConnectionException    

MongoDB\Driver\Exception\UnexpectedValueException    

MongoDB\Driver\Monitoring\CommandFailedEvent    

MongoDB\Driver\Monitoring\CommandStartedEvent    

MongoDB\Driver\Monitoring\CommandSucceededEvent    

MongoDB\Driver\Monitoring\ServerChangedEvent    

MongoDB\Driver\Monitoring\ServerClosedEvent    

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent    

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent    

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent    

MongoDB\Driver\Monitoring\ServerOpeningEvent    

MongoDB\Driver\Monitoring\TopologyChangedEvent    

MongoDB\Driver\Monitoring\TopologyClosedEvent    

MongoDB\Driver\Monitoring\TopologyOpeningEvent

当前环境 PHP 7.4.12 (cli),由此可见压根没有MongoClient类,于是根据上述结果,找了另外处理方式

1

2

3

4

5

6

7

8

9

10

<?php

$manager new MongoDB\Driver\Manager("mongodb://localhost:27017");

$filter array();

$options = [];

$query new MongoDB\Driver\Query($filter$options);

$cursor $manager->executeQuery("mydb.col"$query);

 foreach($cursor as $document) {

     var_dump($document);

 }

 exit;

运行结果:


终于拿到了想要的结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP原生代码连接MongoDB 的相关文章

  • 类和对象(一)——类&对象概念及定义

    c 43 43 是基于面向对象的语言 xff0c 并不是纯面向对象的语言 xff0c 因为它包含c的部分 xff0c c是面向过程的语言 一 面向对象 概念 xff1a 面向对象程序设计 xff08 OOP xff09 是一种程序设计的泛型
  • 顺序表习题

    1 在长度为n的顺序表L中 xff0c 删除所有值为x的数据元素 xff0c 要求时间复杂程度为O xff08 n xff09 xff0c 空间复杂程度为 xff08 1 xff09 解法1 xff1a 用k记录有序表中不等于x元素的个数
  • docker 安装nextcloud+mysql弃坑小记

    弄了一天 xff0c 终于弃坑了 docker中mysql和nextcloud都拉取最新版本 xff0c 8点几和20点几吧 mysql报过错 InnoDB Unsupported redo log format 0 xff0c 清空本机映
  • 脚本放在/etc/cron.daily中不执行的原因

    参考command line cron daily jobs not running Ask Ubuntu 脚本文件名不能带点 xff08 xff0c 然后执行下面命令测试 run parts test etc cron daily 另确认
  • debian让ufw日志不要输出在messages和dmesg

    sudo cat etc rsyslog conf 查看日志工具配置 xff1a Include all config files in etc rsyslog d IncludeConfig etc rsyslog d conf RULE
  • debian11查找Xorg.0.log位置

    sudo apt install locate sudo updatedb locate Xorg 0 log 着实难找 xff01 xff01 var lib gdm3 local share xorg Xorg 0 log var li
  • openwrt/lede配置单臂路由,centos7开启vlan支持,小记

    1 xff0c lede单臂路由配置 xff0c vi etc config network xff0c 添加如下内容 config switch vlan option device eth0 option vlan 0 option p
  • 编译华硕路由器ACRH17源代码小记

    源码包中有说明 xff1a The GPL source is created for ASUS wireless router related products Please visit the ASUS support site htt
  • win10 1709 华为ensp ar1启动失败 代码40 处理小记

    1 xff0c 重新覆盖安装ensp xff0c 安装时选择安装配套版本virtualbox xff0c 因为我以前安装过virtualbox版本和这个不同 xff0c 可能有不兼容问题 2 xff0c 删除C Users XXXXX Vi
  • 新硬盘装win10 uefi(又非uefi)弃坑小记

    无风扇小主机不能内置硬盘 xff0c 是内置的那种msata卡 xff0c 那种卡太贵了 xff0c 还是用硬盘盒装了硬盘接usb3 0 用diskgenius xff0c 将分区表转换成gpt xff0c 第一个分区会提示建esp分区 x
  • java两个List的交集,并集

    使用apache的CollectionUtils工具类 推荐 public static void main String args String arrayA 61 new String 34 1 34 34 2 34 34 3 34 3
  • 浅谈SPN

    SPN 切片分组网络 xff0c 它是PTN的演进 xff0c 更多的是为5G传输网量身打造 5G中所谓的网络切片 是核心网网元的灵活组合 xff0c 构成适用于各种业务场景的切片网络 xff0c 例如无人驾驶对于高可靠低时延网络的需求 x
  • 【C语言】排序详解——冒泡排序

    前言 xff1a 冒泡排序可以说是排序系列中最简单也最基础的一种排序的方式 xff0c 尽管它十分的简单易懂 xff0c 但依旧会有一些小问题是大家可能忽略的 xff0c 因此我打算将不同排序分成单独的文章进行讲解 xff0c 这样既不会显
  • Android设备的各种唯一标识符 ID

    IMEI 只有Android手机才有 xff0c IMEI号是一串15位的号码 xff0c 比如像这样 359881030314356 span class token class name TelephonyManager span sp
  • R语言-管道函数

    符号 xff1a gt 这是管道操作 xff0c 其意思是将 gt 左边的对象传递给右边的函数 说明 xff1a xff05 gt xff05 来自dplyr包的管道函数 xff0c 其作用是将前一步的结果直接传参给下一步的函数 xff0c
  • NFS启动出错Restarting nfs-kernel-server (via systemctl): failed!

    之前NFS已经安装完毕 xff0c 并且能够正常运行 xff0c 今天运行时出现一下错误 sudo etc init d nfs kernel server restart Restarting nfs kernel server via
  • Uncaught TypeError: upload is not a function at HTMLInputElement.onchange

    js 中标签的id名称不能和方法名一样 xff0c lt input type 61 34 file 34 id 61 34 upload 34 onchange 61 34 upload 34 gt 改为 lt input type 61
  • 【COMSOLX光纤仿真学习笔记】

    COMSOLX光纤仿真学习笔记 一根光纤的建模仿真过程绘制几何结构添加材料添加物理场网格模式分析参数化扫描绘制图表一些常用命令和公式 一根光纤的建模仿真过程 首先要定义光纤的参数 xff0c 结构参数 xff0c 材料参数等等 xff0c
  • python-pip镜像源永久指定安装源

    每次临时指定源地址比较麻烦 xff0c 可以通过以下方式配置永久源 在主目录创建 pip文件夹 mkdir span class token operator span span class token operator span span
  • windows系统下搭建cloudreve网盘系统

    最近博主想搭建属于自己的网盘系统 xff0c 去github上看了一些开源项目 xff0c 比较对cloudreve感兴趣 xff0c 但是github的搭建步骤不全以及网上没有完整的搭建博文 xff0c 于是 xff0c 博主想自己搭建c

随机推荐