以php curl 扩展库编译为例。
本次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响。
假如原先编译的php目录在/usr/local/php4目录下;apache在/usr/local/apache2目录下;php源代码在/home/php-4.4.7目录下。如果实际目录与假定的目录不一致,则在下面的命令中做调整。
1. 找到当前运行的php版本的源代码目录,如 php-4.4.7。进入curl扩展库目录。
$cd /home/php-4.4.7/ext/curl
2. 调用phpize程序生成编译配置文件。
$/usr/local/php4/bin/phpize
3. 编译扩展库,分别执行下面的configure和make命令。
$./configure –with-php-config=/usr/local/php4/bin/php-config
##configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make
##make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
如 /home/php-4.4.7/ext/curl/modules/curl.so
4. 配置php.ini文件
##将编译好的扩展库文件复制到apache2 modules目录下。
$cp /home/php-4.4.7/ext/curl/modules/curl.so /usr/local/apache2/modules/.
##可以通过查看phpinfo信息来确定php.ini文件位置,然后编辑。
##在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下。
extension_dir = “/usr/local/apache2/modules/”
##在php.ini的添加扩展库位置,设置要添加的扩展库。
extension=curl.so
##以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,
##然后再在这个位置,添加一行将编译后的扩展库文件名加上即可。
5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。