您的位置:首页 > 运维架构 > Linux

Linux php5 curl 扩展

2011-06-15 14:11 113 查看
方法一

安装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编译生成后(安装好),安装目录下的一个文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: