【问题标题】:Are PHP PECL extentions on Cloud9 working?Cloud9 上的 PHP PECL 扩展是否有效?
【发布时间】:2015-07-28 14:07:05
【问题描述】:

我想测试一些基本的 http_request 函数(即:echo http_request(HTTP_METH_GET,"http://www.example.com");),但 PECL 扩展似乎在 Cloud9 的 IDE 中不起作用。这很奇怪,因为代码提示显示 http_request 和 http_response_code 都可用,使得看起来好像安装了 PECL 扩展。有没有我错过的技巧?谢谢

【问题讨论】:

    标签: php httprequest httpresponse cloud9-ide pecl


    【解决方案1】:

    你需要先安装这些包:

    sudo apt-get install php-http
    sudo apt-get install php5-dev
    sudo apt-get install libcurl3
    sudo apt-get install libpcre3-dev
    sudo apt-get install libcurl4-openssl-dev
    sudo pecl install raphf 
    sudo pecl install pecl_http-1.7.6
    

    然后更改您的 php.ini 配置(添加带有“扩展名”的行并将 enable_dl 从 Off 更改为 On):

    enable_dl = On
    extension = raphf.so
    extension = propro.so
    extension = hash.so
    extension = iconv.so
    extension = json.so
    extension = http.so
    

    然后停止并启动项目,PECL/HTTP 应该可以正常工作。

    我试过这段代码并且工作正常:

    $r = new HttpRequest('http://rss.cnn.com/rss/edition.rss', HttpRequest::METH_GET);
    $r->addQueryData(array('category' => 3));
    $r->send();
    if ($r->getResponseCode() == 200)
        print $r->getResponseBody();
    

    【讨论】:

    • 这样可以解决问题,但我无法访问 httprequest 的任何方法。我必须使用 &$info 数组。这是设计使然还是 Cloud9 的限制?
    • @JohnR 我添加到回答我在 Cloud9 中成功运行的代码
    猜你喜欢
    • 2020-05-03
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2019-04-13
    相关资源
    最近更新 更多