you are better than you think

php_extend

· Read in about 1 min · (38 Words)
Linux 手工活

当初安装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文件即可

Comments