11.32 php扩展模块安装
扩展
apache rewrite教程 http://coffeelet.blog.163.com/blog/static/13515745320115842755199/ http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html
apache rewrite 出现死循环 http://ask.apelearn.com/question/1043
php错误日志级别参考 http://ask.apelearn.com/question/6973
php开启短标签 http://ask.apelearn.com/question/120
php.ini详解 http://legolas.blog.51cto.com/2682485/493917
PHP动态扩展模块
查看模块
/usr/local/php/bin/php -m
下面安装一个redis的模块
进入下载目录
cd /usr/local/src/
下载redis安装包
wget https://codeload.github.com/phpredis/phpredis/zip/develop
由于包名有错误,所以将其改名并改至.zip后缀
mv develop phpredis-develop.zip
解压
unzip phpredis-develop.zip
进入解压后的目录
cd phpredis-develop
生成configure文件。因为目录没有configure文件
/usr/local/php7/bin/phpize
报错信息提示,找不到autoconf,接下来安装一下这个包。
[root@AliKvn phpredis-develop]# yum install -y autoconf
在重新尝试生成configure文件,生成成功
接下来进行编译安装
编译
[root@AliKvn phpredis-develop]#./configure --with-php-config=/usr/local/php7/bin/php-config
[root@AliKvn phpredis-develop]# echo $?
0
安装
[root@AliKvn phpredis-develop]# make && make install
[root@AliKvn phpredis-develop]# echo $?
0
[root@AliKvn phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
opcache.so redis.so
生成了redis.so文件,
检查加载模块没发现有redis,不支持redis
[root@AliKvn phpredis-develop]# /usr/local/php7/bin/php -m |grep redis
进行配置加载支持redis模块。
查看扩展模块存放目录,我们可以在php.ini中去自定义该路径
[root@AliKvn 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
增加一行配置(可以放到文件最后一行,也可以放到extension下面)
#vim /usr/local/php7/etc/php.ini
extension = redis.so
redis已成功加载
[root@AliKvn phpredis-develop]# /usr/local/php7/bin/php -m |grep redis
redis
如果在php的编译包的/ext目录下有想要的相应的模块,例如zip模块,我们可以使其编译出来。
[root@AliKvn ext]# cd /usr/local/src/php-7.1.6/ext
进入相应模块目录进行生成编译文件.configure
[root@AliKvn ext]# cd zip/
[root@AliKvn zip]# ls
config.m4 CREDITS lib php_zip.c tests zip_stream.c
config.w32 examples LICENSE_libzip php_zip.h TODO
[root@AliKvn zip]#/usr/local/php7/bin/phpize
生成configure文件后,进行编译三部曲即可。
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
查看模块文件.so,模块被成功编译出来。
#ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
opcache.so redis.so zip.so