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