【问题标题】:Can I include CURL library in my PHP script as a class我可以将 CURL 库作为一个类包含在我的 PHP 脚本中吗
【发布时间】:2009-02-17 03:12:28
【问题描述】:

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

我只是想做这样的事情

require_once('curl.php');

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

谢谢

【问题讨论】:

    标签: php curl


    【解决方案1】:

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

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

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

    --with-curl
    

    也许

    --with-curl=/path/to
    

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

    【讨论】:

      【解决方案2】:

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

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

      phpinfo();

      【讨论】:

        【解决方案3】:

        有一个叫做libCurlEmu的纯PHP Curl实现

        请记住:您应该在无法让扩展工作时使用这种东西作为最后的手段。

        【讨论】:

          【解决方案4】:

          还有一个名为“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

          【讨论】:

            猜你喜欢
            • 2010-12-29
            • 2011-05-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-24
            • 1970-01-01
            相关资源
            最近更新 更多