php_extend
当初安装php时都是默认安装,今天给机器添加硬件监控时用到了认证,程序是php写的,里面有个curl_init()函数,执行时报错。因此,需要让php支持curl函数。
原先编译的php目录在/home/thur/softbin/php
目录下;
php源代码在/home/thur/softdir/php-5.3.24
目录下。
1.找到当前运行的php版本的源代码目录,如 php-5.2.10。
进入curl扩展库目录。
cd /home/thur/softdir/php-5.3.24/ext/curl
2.调用phpize程序生成编译配置文件。
/home/thur/softbin/php/bin/phpize
3.编译扩展库,分别执行下面的configure和make命令。
./configure --with-php-config=/home/thur/softbin/php/bin/php-config
configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
make
make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,即/home/thur/softdir/php-5.3.24/ext/curl/modules/curl.so
4.配置php.ini文件
将编译好的扩展库文件复制到指定目录下。
mkdir -p /home/thur/softbin/php/lib/extensions
cp /home/thur/softdir/php-5.3.24/ext/curl/modules/curl.so /home/thur/softbin/php/lib/extensions/
找到php.ini文件所在目录位置,我的php.ini 应该在/home/thur/softbin/php/lib/(这个信息是通过查看phpinfo页面来确定的),但是该目录下没有,没关系,从源码目录拷贝一份过来
cp /home/thur/softdir/php-5.3.24/php.ini-production /home/thur/softbin/php/lib/
在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下
extension_dir = "/home/thur/softbin/php/lib/extensions/curl.so"
5.重启apache,查看phpinfo信息,看到页面中介绍curl的表格表示成功。
以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到lib/extensions目录下,并修改php.ini文件即可