用 phpize 编译共享 PECL 扩展库

有时候不能用 pecl 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有 PECL 兼容的包,例如 SVN 中尚未发布的扩展库。如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。

phpize 命令是用来准备 PHP 扩展库的编译环境的。

 

步骤总结:

一、cd /usr/src/php源码包目录/ext/扩展目录/

二、/usr/local/php5314/bin/phpize

三、./configure –with-php-config=/usr/local/php5314/bin/php-config

四、make && make install ( ps:make install会自动将生成的.so扩展复制到php的扩展目录下去,比如会提示已经安装到 /usr/local/php/php-5.5.18/lib/php/extensions/no-debug-non-zts-20121212/目录下去 )

五、剩下是配置php.ini

假如你的服务器上安装了多个版本php,那么需要告诉phpize要建立基于哪个版本的扩展。通过使用–with-php-config=指定你使用哪个php版本。

比如:–with-php-config=/usr/local/php524/bin/php-config

关于php-config文件:是在php编译生成后(安装好),放在安装目录下的一个文件。打开phpize文件内容会发现,里面定义好了php的安装目录等变量

prefix=’/usr/local/php’

phpize是编译安装时候生成好的,记录了当时安装的一些信息。并不能从其他地方拿个phpize来使用。

phpize是在php安装目录下的一个文件。比如我安装了两个php5.2 和php5.3那么使用phpize也要使用对应版本的phpize才行。此时使用–with-php-config有什么作用?

phpize工具一般在哪里?

当php编译完成后,php安装目录下的bin目录下会有phpize这个脚本文件。所以是去安装好的php安装目录去找。