dosf40815
2015-07-28 14:07
采纳率: 100%
浏览 27
已采纳

Cloud9上的PHP PECL扩展是否有效?

I wanted to test some basic http_request functions (ie: echo http_request(HTTP_METH_GET,"http://www.example.com");) but PECL extensions dont seem to be working in Cloud9's IDE. Which is strange because the code hints show http_request and http_response_code are both available making it seem as if PECL extentions are installed. Is there a trick that i'm missing? thanks

图片转代码服务由CSDN问答提供 功能建议

我想测试一些基本的http_request函数(即: echo http_request(HTTP_METH_GET,“http:// www.example.com“); )但PECL扩展似乎不适用于Cloud9的IDE。 这很奇怪,因为代码提示显示http_request和http_response_code都可用,使得看起来好像安装了PECL扩展。 有一个我不知道的伎俩吗? 谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqxyh48864 2015-07-28 14:34
    已采纳

    You need to install these packages first:

    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
    

    Then change your php.ini configuration (add lines with "extension" and change enable_dl from Off to On):

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

    Then stop and start project and PECL/HTTP should be working correct.

    I tried this code and works fine:

    $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();
    
    点赞 评论

相关推荐 更多相似问题