php -m时显示已经安装了mongo模块,可是在安装yii2-mongodb总是报扩展不存在

专业填坑 发布于 2016/09/12 11:37
阅读 2K+
收藏 0
 Problem 1
    - yiisoft/yii2-mongodb 2.1.x-dev requires ext-mongodb >=1.0.0 -> the requested PHP extension mongodb is missing from your system.
    - yiisoft/yii2-mongodb 2.1.1 requires ext-mongodb >=1.0.0 -> the requested PHP extension mongodb is missing from your system.
    - yiisoft/yii2-mongodb 2.1.0 requires ext-mongodb >=1.0.0 -> the requested PHP extension mongodb is missing from your system.
    - Installation request for yiisoft/yii2-mongodb ^2.1 -> satisfiable by yiisoft/yii2-mongodb[2.1.0, 2.1.1, 2.1.x-dev].

  To enable extensions, verify that they are enabled in those .ini files:
    - E:\wamp\bin\php\php5.5.12\php.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

加载中
0
F
Frank_cic

yii2-mongodb 2.1.x 不再支持 mongo 扩展,需要改用 mongodb 1.0 以上版本.

另外, php -m 查看的是CLI下的扩展,如果和php-fpm分开使用配置文件是不会生效的.具体看phpinfo()是否开启.

1
小紫羽
小紫羽

原因很简单,你的mongo.so 版本太低了,

yii2-mongodb 2.1.x 要求的mongo.so版本必须1.0以上。

解决方案:安装低版本的yii2-mongodb

//加到你的composer。json里吧
"yiisoft/yii2-mongodb": "~2.0.0"



专业填坑
专业填坑
回复 @Frank_cic : 是的
F
Frank_cic
是mongodb.so 1.0以上,不是mongo. 想用mongo只能是yii2-mongodb 2.1以下
专业填坑
专业填坑
the requested PHP extension mongodb is missing from your system 是找不到这个扩展, 而我已经安装了这个扩展,mongo扩展版本是 1.6.14
0
geminiblue
geminiblue

php7吧?mongo扩展不维护了,现在叫mongodb扩展,然后还出了一堆类库来支持的,写法啥的都变了,yii2-mongo依赖于mongo扩展,装了mongodb扩展之后,就不支持了,要么就得自己写个yii2-mongodb出来,这个有点坑,那一堆写法弄的跟java似得的

专业填坑
专业填坑
我的是php5.5,用的是wamp集成环境
0
风清扬-深圳
风清扬-深圳

安装mongodb拓展

linux 下安装:

$ sudo pecl install mongodb

安装成功后,在php.ini加上拓展,

extension=mongodb.so

启动php-fpm

service php-fpm restart

php -m

看到如下拓展说明安装成功:

可参考php官方文档:http://php.net/manual/zh/mongodb.installation.pecl.php

返回顶部
顶部