php扩展模块安装

1.首先下载redis包并改名:

[root@weixing01 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop
--2018-03-08 20:56:11--  https://codeload.github.com/phpredis/phpredis/zip/develop
正在解析主机 codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121
正在连接 codeload.github.com (codeload.github.com)|192.30.255.120|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [application/zip]
正在保存至: “develop”

    [       <=>                                           ] 230,093      105KB/s 用时 2.1s   

2018-03-08 20:56:15 (105 KB/s) - “develop” 已保存 [230093]

[root@weixing01 src]# du -sh develop
228K	develop
[root@weixing01 src]# mv develop phpredis-develop.zip

2.解压缩

[root@weixing01 src]# unzip phpredis-develop.zip 

3.进入目录,并生成configure文件:

[root@weixing01 src]# cd phpredis-develop/
[root@weixing01 phpredis-develop]# /usr/local/php7/bin/phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

报错,缺少一个包

4.安装autoconf包:

[root@weixing01 phpredis-develop]# yum install -y autoconf
已加载插件:fastestmirror
base                                                                   | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                   | 6.7 kB  00:00:00     
epel                                                                   | 4.7 kB  00:00:00     
extras                                                                 | 3.4 kB  00:00:00     
updates                                                                | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/primary_db                     

5.再次生成configure文件:成功

[root@weixing01 phpredis-develop]# /usr/local/php7/bin/phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
[root@weixing01 phpredis-develop]# ls
acinclude.m4       config.h.in   debian.control     mkdeb.sh            redis_cluster.c
aclocal.m4         config.m4     install-sh         mkinstalldirs       redis_cluster.h
arrays.markdown    config.sub    ISSUE_TEMPLATE.md  package.xml         redis_commands.c
autom4te.cache     configure     liblzf             php_redis.h         redis_commands.h
build              configure.in  library.c          README.markdown     redis_session.c
cluster_library.c  config.w32    library.h          redis_array.c       redis_session.h
cluster_library.h  COPYING       ltmain.sh          redis_array.h       rpm
cluster.markdown   crc16.h       Makefile.global    redis_array_impl.c  run-tests.php
common.h           CREDITS       missing            redis_array_impl.h  serialize.list
config.guess       debian        mkdeb-apache2.sh   redis.c             tests

6.进行编译:

[root@weixing01 phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-configchecking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes

[root@weixing01 phpredis-develop]# make
/bin/sh /usr/local/src/phpredis-develop/libtool --mode=compile cc  -I. -I/usr/local/src/phpredis-develop -DPHP_ATOM_INC -I/usr/local/src/phpredis-develop/include -I/usr/local/src/phpredis-develop/main -I/usr/local/src/phpredis-develop -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /usr/local/src/phpredis-develop/redis.c -o redis.lo 
mkdir .libs

[root@weixing01 phpredis-develop]# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
[root@weixing01 phpredis-develop]# ls  /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
opcache.so  redis.so

7.查看配置文件存放位置:

[root@weixing01 phpredis-develop]# /usr/local/php/bin/php -i |grep -i extension_dir
PHP Warning:  Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0
extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
sqlite3.extension_dir => no value => no value

8.增加一行配置:

[root@weixing01 phpredis-develop]#  vim /usr/local/php/etc/php.ini  

extension = redis.so  

9.测试:

[root@weixing01 phpredis-develop]# /usr/local/php/bin/php -m |grep redis
redis