当PHP安装完成后,若是想再增长一个模块,此时又不能从新编译php,咱们只能以扩展模块的形式,给它编译出一个.so文件以动态调用,本次咱们以安装一个redis模块为例,redis是一个NoSql,使用比较普遍,一般在LAMP这种架构下,会把它当成缓存来使用。php
一、切换目录linux
# cd /usr/local/src/git
二、下载redis包github
# wget https://codeload.github.com/phpredis/phpredis/zip/developredis
另外一种状况:redis、mongo这类是属于第三方的,在php的源码包里面是没有这类模块的,实际上在/usr/local/src/php-5.6.30/ext/目录下有不少的模块,若是咱们想要安装的模块在这个目录下,就不用下载,能够直接跳到第五步开始执行。若是想要安装的模块在这个目录下没有,就须要去官网下载,或者r.aminglinux.com下缓存
三、修改包名架构
# mv develop phpredis-develop.zip工具
四、解压code
# unzip phpredis-develop.zipip
五、进入解压后的文件夹目录下
# cd phpredis-develop
六、生成configure文件
此时redis目录下尚未configure文件,
所以须要使用phpize这个工具来生成configure文件
# /usr/local/php/bin/phpize
能够看到,上图提示错误,须要安装autoconf,安装成功后,再来从新生成configure文件,生成成功的界面以下图
此时咱们来查看phpredis-develop目录下的文件,就能够看到configure文件了
七、配置
# ./configure --with-php-config=/usr/local/php/bin/php-config
通常状况下只须要使用--with-php-config这一个参数就能够了,成功截图以下:
八、编译
# make
# make install //会将生成的redis.so文件放到下图目录中去
九、查看扩展模块目录
完成上一步后,咱们能够看到php仍是没有支持redis扩展模块,以下
# /usr/local/php/bin/php -m |grep redis
筛选结果没有redis这个模块
咱们也能够查看php扩展模块存放目录,用如下命令
# /usr/local/php/bin/php -i |grep -i extension_dir
这个扩展模块的存放目录也能够在php.ini中去自定义,默认是将全部编译出来的扩展模块放到此目录下
十、编辑配置文件
在配置文件/usr/local/php/etc/php.ini中加入如下内容:
extension=redis.so
这行内容能够放到文件末尾,也能够放到如下位置:
保存后,再来查看php已经加载的模块就能看到redis已经加载了