记录PHP操作mongodb扩展的坑 及php7安装mongodb扩展

1.下载扩展到php源码包扩展目录中,ext目录中保存着php官方包含的扩展源码包,没有的话就要自己去下载

PHP的扩展路径在: /usr/local/src/php-7.0.12/ext/(PHP源码包的ext目录)

下载地址:https://pecl.php.net/package/mongodb

2.解压,进入目录

3./usr/local/php/bin/phpize  生成configur文件

4.  ./configure --with-php-config=/usr/local/php/bin/php-config

5. make&make install

6.cd /usr/local/php/lib/php/extensions/no-debug-zts-20151012/  查看生成mongodb.so文件

网上很多教程是安装mongo.so扩展的,这是个比较旧的扩展,我的mongodb是3.2,PHP7.0,centos 7

安装mongo.so扩展,make总是报错,

 记录PHP操作mongodb扩展的坑 及php7安装mongodb扩展_第1张图片

后来在https://stackoverflow.com/questions/40144519/make-php-mongo-lo-error-1 才知道是要安装mongod.so;所以版本比较高的要下载mongod的扩展包来安装; 

网上的大多数php版本的5.X的,对于5.X来说需要的扩展文件是mongo.so文件,对应的下载链接:https://pecl.php.net/package/mongo

都是比较老的版本,对于7.X版本需要生成的扩展文件是mongodb.so文件,对应的下载链接在这里:https://pecl.php.net/package/mongodb

然后再网上找了一圈,发现之前也有人遇到过这个问题,具体可以看看

https://blog.csdn.net/u010615629/article/details/80757079#commentBox

建议:对应php7安装PHP-mongodb扩展,建议直接用pecl来安装

Pecl全称The PHP Extension Community Library,php社区扩展库,由社区编写,维护。

使用pecl方便之处在于我们不用到处找源码包下载编译,配置,不用手动phpize,configure,make,make install,自动识别模块安装路径,

 

pecl安装扩展

1.找到pecl命令,在php/bin目录下

/usr/local/php/bin/pecl install mongodb

执行成功的结果

……
Build process completed successfully
Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.1.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini

只需要在php.ini  加上extension=mongodb.so即可;

参考:http://www.runoob.com/mongodb/php7-mongdb-tutorial.html

 

你可能感兴趣的:(数据库)