今天由于项目需要所在在本地环境安装mongo扩展,项目是运行在php5环境,所以之前安装的php7的mongodb扩展不可用,故需要重新安装。那么这篇博文主要记录这次安装遇到的问题。

1.为什么是mongo扩展而不是mongodb?

 因为PHP7 是Mongodb 扩展,php5需要安装mongo扩展。

2.安装过程

wget  http://pecl.php.net/get/mongo-1.6.16.tgz

tar -zxvf mongo-1.6.16.tgz

cd mongo-1.6.16

sudo /usr/bin/phpize5.6

sudo ./configure --with-php-config=/usr/bin/php-config5.6(–with-php-config 这个参数是告诉配置脚本 php-config 这个程序的路径)

sudo make

sudo make install

3.问题一 :在phpize ,./configure  时候我没有指定路径 导致报错比如 2019XXXXX文件夹(这是php7.4扩展所在目录)

      原因是 我使用的事homestead 环境,并且当前版本是php7.4那么默认我使用就是php7.4的phpize 这是不对的,我应该使用php5 的,所以应该指定路径如下图   /usr/bin/phpize5.6

    同样 ./configure 也是需要使用对应路径

4.问题二:安装过程出现报错 configure: error: Cannot find OpenSSL's libraries

   find / -name libssl.so

结果是:/usr/lib/x86_64-linux-gnu/libssl.so

然后 软连接

 ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib

重置执行安装步骤就ok了

 

PHP5安装mongo扩展的坑

PHP5安装mongo扩展的坑

出现 这个

PHP5安装mongo扩展的坑

就表示安装完成

然后打开对应的php.ini

sudo vim /etc/php/5.6/fpm/php.ini

加入  extension=mongo

然后保存 重启php-fpm

sudo service php5.6-fpm

 

resstart

最后打印phpinfo(),看到有mongo就完成了。

大家有兴趣可以打开 比如 phpize5.6* 类似的文件看下里面的代码,大概就明白为什么要这么做了

相关文章: