PHP动态扩展模块
本节操作使用PHP7
-
查看php模块:
[root@localhost ~]# /usr/local/php/bin/php -m
-
安装 Redis模块
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
准备安装:
[root@localhost ~]# cd /usr/local/src下载Redis安装包:
[root@localhost src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop重命名:
[root@localhost src]# mv develop phpredis-develop.zip解压:
[root@localhost src]# unzip phpredis-develop.zip[root@localhost src]# cd phpredis-develop/
[root@localhost phpredis-develop]# /usr/local/php7/bin/phpize
#执行该命令的目的是生成configure文件,否则无法进行编译安装报错:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.解决办法:
[root@localhost phpredis-develop]# yum install -y autoconf[root@adailinux phpredis-develop]# /usr/local/php7/bin/phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303 -
环境配置
[root@localhost phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config
-
编译、安装
[root@localhost phpredis-develop]# make
[root@localhost phpredis-develop]# make install
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/[root@localhost phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
opcache.so redis.so -
为php加载Redis模块
先查看扩展模块所在目录:
[root@localhost phpredis-develop]# /usr/local/php7/bin/php -i|grep extension_dir
extension_dir => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303
sqlite3.extension_dir => no value => no value说明:该目录可以在PHP配置文件php.ini中进行设置(保持默认)。
加载Redis模块
编辑php的配置文件:[root@localhost phpredis-develop]# vim /usr/local/php7/etc/php.ini
; If you wish to have an extension loaded automatically, use the following
; syntax:
; ... or under UNIX:
;
; extension=msql.so
extension=redis.so[root@localhost phpredis-develop]# /usr/local/php7/bin/php -m |grep redis
redis说明:在配置文件中加入“extension=redis.so”即可!该文件中“;”表示注释符号,同“#”。
- 关于扩展板块
在PHP的源码包中没有第三方模块的包,但是在PHP源码包的/ext/目录下有好多扩展模块,如果所需要的扩展模块在该目录下,可以直接进行安装:
# /usr/local/php7/bin/phpize# ./configure --with-php-config=/usr/local/php7/bin/php-config# make# make install