11.32 PHP动态扩展模块安装
在生产环境中会出现需要PHP安装动态模块来实现不同的功能。如果这个模块是第三方的模块需要去下载包并进行编译,你也可以去免二进制解压包里面的ext/目录下找到相应的模块进行编译。
下面安装一个第三方redis模块
步骤
1.进入src目录并下载解压redis
1 | [root@localhost ~]# cd /usr/local/src/ |
2.进入phpredis-develo目录里并生成configure
1 | [root@localhost src]# cd phpredis-develop |
这里是缺少autoconf导致的因此安装autoconf再来phpize1
2
3
4
5
6[root@localhost phpredis-develop]# yum install -y autoconf
[root@localhost phpredis-develop]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
由于phpredis-develop
目录里面是没有configure来初始化的,因此需要使用phpize
来创建configure
3.初始化
1 | [root@localhost phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-config |
4.编译 安装
1 | [root@localhost phpredis-develop]# make |
/usr/local/php/lib/php/extensions/no-debug-zts-20131226/
这个目录就是用来存放PHP的扩张模块的
1
2
3
4[root@localhost phpredis-develop]# /usr/local/php/bin/php -i |grep extension ##从详细信息查看扩张模块目录的路径
extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
[root@localhost phpredis-develop]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
opcache.so redis.so
现在有了模块就需要去配置文件加载模块
5.加载扩张模块
1 | [root@localhost phpredis-develop]# vim /usr/local/php/etc/php.ini |
进入php.ini
配置文件并加上extension=redis.so
6.查看是否成功加载模块
1 | [root@localhost phpredis-develop]# /usr/local/php/bin/php -m |grep redis |
其实免编译二进制解压包里面的ext/
目录下也有许多自带的模块目录,他们都可以作为扩张模块安装1
[root@localhost ~]# cd /usr/local/src/php-5.6.32/ext/ ##进入ext/目录下
我们这里以安装zip作为扩张模块为例子
步骤
1.进入相应模块的目录下并生成configure
1 | [root@localhost ext]# cd zip/ |
2.初始化
1 | [root@localhost zip]# ./configure --with-php-config=/usr/local/php/bin/php-config |
3.安装 编译
1 | [root@localhost zip]# make && make install |
4.查看模块并加载模块
1 | [root@localhost zip]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/ |
1 | [root@localhost zip]# /usr/local/php/bin/php -m |grep zip |
zip作为一个动态模块加载成功了