1

我想使用 CURL 库,但我不想硬安装它

我只想做这样的事情

require_once('curl.php');

我不确定这是否可能?我在哪里可以找到这个 CURL 类?

谢谢

4

4 回答 4

7

PHP 要求它使用 cURL 库构建,请参阅:

http://www.php.net/manual/en/curl.installation.php

所以你会为你的系统安装 libcurl-devel 然后编译 PHP

--with-curl

有可能

--with-curl=/path/to

如果您将其安装在非标准位置。

于 2009-02-17T03:20:54.700 回答
3

您的 PHP 副本要么必须使用 Curl 构建,要么动态加载它(因为 Curl 最初不是用 PHP 编写的,它是一个 C 库)。

创建一个调用 phpinfo() 的简单脚本。如果 curl 是内置的,它应该显示在这个页面上。

phpinfo();

于 2009-02-17T03:21:14.947 回答
1

有一个名为libCurlEmu的纯 PHP Curl 实现

请记住:如果您无法使扩展工作,您应该只将这种东西用作最后的手段。

于 2009-02-17T09:50:10.987 回答
1

还有一个名为“MyCurl”的独立版本,无需安装即可包含:

http://www.phpclasses.org/package/3588-PHP-Pure-PHP-implementation-of-the-cURL-library.html

我在我的项目中使用了它,它在 http-requests 中运行良好。

此类在纯 PHP 中提供了 cURL 扩展函数的替代实现。

它会自动检测 cURL 库是否可用。如果它不可用,它会定义几个与 cURL 扩展名相同的函数,这些函数使用该类来模拟部分原始功能。

目前它实现了以下功能:curl_init、curl_exec、curl_setopt 和 curl_close。可以使用 curl_setopt 函数设置几个最重要的选项。

尽管它有一些小错误,但在修复此问题后它可以工作:

  1. 该示例开箱即用,导致无法访问域lazywebmastertools.com
  2. 如果请求的域不以“/”结尾,则需要一个 @:

    返回“/”。@$tmp[1];

  3. 如果您不使用代理,则必须设置

    if (isset($this->proxy) 和 $this->proxy["host"])...

  4. if (isset($this->headers["location"]) 和 $this->headers["location"] > "") {...

缺点是,这个类不支持 https。那里你需要史努比类: https ://stackoverflow.com/a/1154247/1069083

于 2012-07-19T11:52:37.960 回答