方法一
安装cURL
wget http://curl.haxx.se/download/curl-7.17.1.tar.gz
tar -zxf curl-7.17.1.tar.gz
./configure --prefix=/usr/local/curl
make & make install
安装php
只要打开开关 --with-curl=/usr/local/curl
就可以了。
这个扩展库还是非常棒,是fsockopen等等相关的有效的替代品。
方法二
进入安装原php的源码目录,
cd ext
cd curl
phpize
./configure --with-curl=DIR
make & make install
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
复制curl.so文件到extensions的配置目录,修改php.ini就好了
extension=curl.so
以上是网上找到的资料,下面是我在安装过程中遇到的问题,我用的第二个方法,因为我是在现在有的PHP扩展Curl模块。在phpize时找不到命令,因为我的PHP不是默认安装在,在lib库里没有找到这个命令,要绝对路径执行phpize
进入安装原php的源码目录,
cd ext
cd curl
#路径不一定在当前目录下,去寻找phpize运行。之后会生成了一个configure文件
/usr/local/php-5.3.3/phpize
执行完出看到有perl警告提示环境设置失败,原信息如下:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.GB2312;zh_CN.UTF-8;en_US;en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.GB2312;zh_CN.UTF-8;en_US;en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
这个问题解决方法,在profile里加配置,步骤如下:
vim /etc/profile
在profile最底加上export LC_ALL=C
保存退出
执行profile让它生效
source /etc/profile
再执行一次
/usr/local/php-5.3.3/phpize
再也没有警告提示
接着往下走,安装Curl
./configure --with-curl=DIR
这一步又出现问题,找不到php-conifg配置,加上php-config的路径:
./configure --with-php-php-config=/usr/local/php-5.3.3/bin/php-config --with-curl=DIR
make & make install
会在PHPDIR/lib/php/extensions/下生成curl.so的文件。
复制到extension_dir,修改php.ini
extension=curl.so
/usr/local/php-5.3.3/bin/php -m
看到了curl 扩展。
重启apache 生效。
知识补充:
phpize的作用可以这样理解:侦测环境,建立一个configure文件。必须在一个目录下去运行phpize。那么phpize就知道你的的环境是哪个目录,并且configure文件建立在该目录下。
假如你的服务器上安装了多个版本php,那么需要告诉phpize要建立基于哪个版本的扩展。通过使用--with-php-config=指定你使用哪个php版本。
比如:--with-php-config=/usr/local/php524/bin/php-config
php-config文件在是在php编译生成后(安装好),安装目录下的一个文件。