本文主要是介绍PHP5安装mongo扩展的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天由于项目需要所在在本地环境安装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了
出现 这个
就表示安装完成
然后打开对应的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* 类似的文件看下里面的代码,大概就明白为什么要这么做了
这篇关于PHP5安装mongo扩展的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!