CentOS
下,PHP有多种方式来安装扩展, 主要有 包管理式
的 yum 安装
、 pecl 安装
, 以及 源码编译安装
。
包管理式
的安装卸载尤为方便,而 源码编译式
的安装则方便参数调优。
一般搭建本机开发环境推荐 包管理式
的安装,节约时间。而 线上部署
环境则推荐 编译安装
, 方便调优。
本文以 MongoDB
扩展`安装举例。
工具
PHP版本 : 7.0.17
Nginx : 1.10.2
VMware版本号 : 12.0.0
CentOS版本 : 7.0
一、yum 安装
yum 方式
安装能自动安装扩展的.so动态库,并配置好 PHP.ini
注:
请确保自己 yum 源
里面有对应扩展
安装完成后重启服务器 Nginx
或者 Apache
浏览器访问 index.PHP
文件,输出 PHPinfo
信息,如果有 MongoDB
信息,则安装成功
二、pecl 安装
官方文档: http://PHP.net/manual/zh/mong...
直接输入 pecl install mongodb
会报错,说明 pecl
我们没有安装,安装 pecl
到这一步又会 报错
,需要我们安装 openssl
,安装完成后继续执行上次 未执行成功
的命令
安装完成后在 PHP
配置文件 PHP.ini
里面加载 MongoDB
扩展
安装完成后重启服务器 Nginx
或者 Apache
浏览器访问 index.PHP
文件,输出 PHPinfo
信息,如果有 MongoDB
信息,则安装成功
三、源码编译安装
源码编译包下载列表: https://pecl.PHP.net/packages.PHP
Mongodb包下载地址: https://pecl.PHP.net/package/mongodb
到了这步 又是熟悉的味道又是熟悉的感觉
,需要我们安装 openssl
,安装完成后继续执行上次 未执行成功
的命令
说明: PHP-config
是一个简单的命令行脚本用于 获取
所安装的 PHP 配置
的信息。
在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-PHP-config
选项来指定使用哪一个版本编译,该选项指定了相对应的 PHP-config
脚本的路径。
编译成功
如下图
此时在 PHP
配置文件 PHP.ini
里面加载 MongoDB
扩展
重启服务器 Nginx
或者 Apache
浏览器访问 index.PHP
文件,输出 PHPinfo
信息,如果有 MongoDB
信息,则安装成功
总结:
pecl 安装
和 源码编译安装
区别就是:后者更方便参数调优。
在选择 Mongo 扩展
的时候,官方提供了两种: mongo
和 mongodb
第一种: https://pecl.PHP.net/package/mongo
第二种: https://pecl.PHP.net/package/mongodb
第一种官方提示: This package has been superseded,but is still maintained for bugs and security fixes
,已经废弃了,不过 bug
和 security
方面的问题还会继续修复,不支持 PHP7
。
建议:
PHP 版本为 5.x 建议使用 mongo
扩展
PHP 版本为 7.x 建议使用 mongodb
扩展
PHP5.x 可以使用 mongodb
扩展。但是 PHP7.x 不可以使用 mongo
扩展。
写在最后:
如果是自己学习的话还是推荐 yum 安装
,因为在你安装过程中会出现 缺少各种依赖
的 报错
。