php动态模块是一个可以看的见的以.so结尾的文件,可以根据需要加载使用。静态模块跟随php一起启动,看不到文件。php一旦编译完成,要想再增加一个功能模块的话,要么重新编译php,要么直接编译一个扩展模块,然后在php.ini中配置一下就可以被加载使用。 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块

 cd /usr/local/src/
 wget https://codeload.github.com/phpredis/phpredis/zip/develop 
 mv develop phpredis-develop.zip
 unzip phpredis-develop.zip
 cd phpredis-develop
 /usr/local/php/bin/phpize //生成configure文件
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
 /usr/local/php/bin/php -i |grep extension_dir //查看扩展模块存放目录,我们可以在php.ini中去自定义该路径 

此时根据查询出来的路径我们查看下安装的扩展模块 ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226 这时候我们执行/usr/local/php/bin/php -m |grep redis 会发现还没有加载该模块,编辑php.ini,加入该模块 vim /usr/local/php/etc/php.ini //增加一行配置(可以放到文件最后一行) extension = redis.so
再次查看/usr/local/php/bin/php -m |grep redis 以上我们从网上下载了一个扩展模块,此外我们还可以在本地找到一些可用的模块,在php的源码包里面有一个ext的目录,该目录下有很多扩展模块 当我们需要时也可以用这些模块进行编译安装。具体操作跟上面一模一样。

现在我们总结下整个安装过程
1 进入扩展包文件下,当然如果是压缩文件,先解压
2 执行/usr/local/php/bin/phpize 生成configure文件,如果此时缺依赖包报错,则安装相应包
3 执行源码包安装三部曲./configure --with-php-config=/usr/lcoal/php/bin/php-config,意思是要带上php-config这个配置文件,要更具实际情况来。 make && make install
4 在php.ini 文件中配置安装的模块。格式为extension=模块名