Ubuntu下PHP扩展cURL

开发php的时候遇到一个错误,

Fatal error: Call to undefined function curl_init()

Google了一下,网上基本都是你抄我,我抄你,还不能解决,我勒个擦。还是自己动手吧,结合以前经验,解决方法如下:

0. 前提。我的php开发环境是用源码包编译、安装而成的。并且保留了php的源码包。

1. 安装cURL。
1.1 进入/usr/local/src目录,命令如下:
$ cd /usr/local/src

1.2 下载cURL源码包,可以通过命令下载,也可以直接去http://curl.haxx.se/download/选择版本下载,然后copy到该目录。如果是敲命令,如下:
$ sudo wget http://curl.haxx.se/download/curl-7.17.1.tar.gz

1.3 配置。在当前目录下执行命令:
$ sudo ./configure –prefix=/usr/local/curl

1.4 编译,命令如下:
$ sudo make

1.5 安装,命令如下:
$ sudo make install

如果安装成功以后,在/usr/local/curl/目录下将生成bin、include、lib和share四个目录。
Selection_135

2. 扩展php。
2.1 进入php源码包(不是安装以后的)位置/ext/curl/目录,我的在/usr/local/src/php-5.3.22/ext/curl,如下图所示Selection_134

2.2 在当前目录下,通过phpize可以建立php的外挂模块,命令如下:
$ sudo /usr/local/php/bin/phpize
其中/usr/local/php/是我的php安装路径,有可能与各位不一样。

2.3 配置扩展,命令如下:
$ sudo ./configure –with-php-config=/usr/local/php/bin/php-config –with-curl=/usr/local/curl

2.4 编译,命令如下:
$ sudo make

2.5 安装,命令如下:
$ sudo make install

安装成功后,会在/usr/local/php/lib/php/extensions目录下生成no-debug-zts-20090626(php版本不同,这个名称也许不同)目录,该目录下就能看到生成的curl.so文件,如下图所示。
Selection_136

2.6 修改php.ini配置文件,添加extension=”/usr/local/php/lib/php/extensions/no-debug-zts-20090626/curl.so”,如下图所示
Selection_137

2.7 重启apache服务器,完成。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.