我想测试一些基本的http_request函数(即:echo http_request(HTTP_METH_GET,"http://www.example.com");
),但PECL扩展似乎不能在Cloud9的IDE中工作。这很奇怪,因为代码提示显示http_request和http_response_code都可用,使其看起来好像安装了PECL扩展。我是不是漏掉了什么诀窍?由于
您需要先安装这些软件包:
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配置(添加带有"extension"的行并将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();