php动态扩展模块添加
因为业务需要或者编译php的时候少安装了一个模块,我们现在需要新添加一个模块,那怎么做呢?
查看模块
/usr/local/php/bin/php -m
第一步:去php的安装目录中/ext/目录下查看有没有 你需要安装的扩展模块的包
比如:zip 这个模块
[root@linux-129 ext]# cd zip
[root@linux-129 zip]# ls
config.m4 CREDITS lib php_zip.c tests zip_stream.c
config.w32 examples LICENSE_libzip php_zip.h TODO
第二步:生成.configure文件
[root@linux-129 zip]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
这里出现一个错误,没有发现autoconf包
安装 autoconf
[root@linux-129 zip]# yum install -y autoconf
重新生成.configure文件
[root@linux-129 zip]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
第三步:编译
[root@linux-129 zip]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@linux-129 zip]# make
[root@linux-129 zip]# make install
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
这个就是扩展模块存放的目录: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
[root@linux-129 zip]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
opcache.so zip.so
第四步:加载
[root@linux-129 zip]# vim /usr/local/php7/etc/php.ini
内容最下面一行或者找到extension字段下一行添加内容:extension=zip.so
查看扩展模块是否添加成功
[root@linux-129 zip]# /usr/local/php7/bin/php -m|grep zip
zip
如果php源码包安装目录/ext目录下面没有想要的模块安装包,我们就要去网上去下载 这种扩展模块该在什么地方去下载下来呢?
php有个专门提供扩展的地方
http://pecl.php.net/
下面安装一个redis的模块 \在lamp架构中,redis被当做一个缓存来使用,
步骤:
• cd /usr/local/src/
第一:下载redis源码包
[root@linux-129 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop
• mv develop phpredis-develop.zip
• unzip phpredis-develop.zip
• cd phpredis-develop
第二步:生成configure文件
[root@linux-129 phpredis-develop]# /usr/local/php7/bin/phpize //为了生成configure文件
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
第三步:编译
[root@linux-129 phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config
[root@linux-129 phpredis-develop]# make
[root@linux-129 phpredis-develop]# make install
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
存放扩展模块的目录 /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
/usr/local/php/bin/php -i |grep extension_dir //查看扩展模块存放目录,我们可以在php.ini中去自定义该路径
[root@linux-129 phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
opcache.so redis.so zip.so
第四步:加载扩展模块
[root@linux-129 phpredis-develop]# vim /usr/local/php7/etc/php.ini //增加一行配置(可以放到文件最后一行)
extension = redis.so