PHP-Mongo拓展低版本的报错解决方案

上班遇到的 

上班的时候遇到的问题,我们是公司自己的框架,但是配置逻辑都一样。有需要的小伙伴可以参考。

mongo拓展下载

下载地址:

PECL :: Package :: mongo

步骤:

32位的话选择 x86 根据你的php版本去选线程安全的就行

经过本人实测 windows下 从1.4-1.6 1.4版本的连表聚合会出问题 1.6.12连表没问题

1.4x在连表$lookup的时候报错:

array(3) { ["ok"]=> float(0) ["errmsg"]=> string(35) "pipeline element 0 is not an object" ["code"]=> int(15942) }

pipeline element 0 is not an objec

假设你的mongo1.4X在windows下聚合连表查询 代码在beat环境下正常,但是windows下报错了,不是你代码的问题,只是mongod的拓展太老了。【然而你根本无法知道错哪了,因为ai也识别不了这个*错误】。当时我还以为是我的php $pipeline数组构造的有问题。

解决思路:

请按照以下步骤操作以更新MongoDB扩展:

  1. 首先,下载适用于您当前PHP环境版本的MongoDB扩展。
  2. 定位到您的PHP安装目录下的ext文件夹。例如,路径可能是 E:\phpStudy2016\php\php-5.5.38\ext
  3. 将新下载并解压后的MongoDB扩展文件替换掉该目录中现有的MongoDB扩展文件。
  4. 重启phpStudy服务。
  5. 最后,请验证MongoDB扩展是否已成功加载并运行。
    以上步骤完成后,请确保检查相关配置和日志信息,以确认MongoDB扩展正确无误地被启用。

1.6x 连表$lookuup查询ok但是$in报错:

没法解决, 切换版本吧 ,这是目前汇博boss系统里面的一个页面在windows下也会因为版本1.6x报这个错误。

简单常规报错:

这个是mongo没起来,没有扫描到mongo

解决思路:

先去phpinfo里面查看mongo配置是否正常加载 如图 这种一般是启动了

针对单纯无法扫描到MongoDB扩展的问题,建议通过搜索引擎获取相关信息,此类问题通常较为容易解决。具体步骤如下:

  1. 首先,请根据您所使用的PHP版本下载相应的MongoDB扩展。
  2. 定位至您的PHP安装目录下的ext文件夹,例如:E:\phpStudy2016\php\php-5.5.38\ext
  3. 将新下载并解压后的MongoDB扩展替换原有文件。
  4. 重启phpStudy服务,并检查MongoDB扩展是否已成功加载。
  5. 最后,请确保正确设置了相关的环境变量以支持MongoDB的运行。
    按照上述步骤操作后,应能有效解决无法扫描到MongoDB扩展的问题。如果仍有疑问或遇到其他技术难题,建议查阅官方文档或相关技术支持论坛寻求帮助。

有些时候即使你设置了环境变量 也没有用

建议配置环境变量完毕后重启你的电脑。

备注:

如果上述都没有用,那你就真要遭老罪了 祝你好运。

当然如果帮助到您,感谢关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖虎爱Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值