pecl_http扩展无法正常工作

时间:2014-02-12 19:04:50

标签: php php-ini

我在windows中安装了pecl_http扩展,并运行了以下代码:

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
   $r->send();
   if ($r->getResponseCode() == 200) {
      file_put_contents('local.rss', $r->getResponseBody());
   }
} catch (HttpException $ex) {
      echo $ex;
}
?>

我收到如下错误:

Fatal error: Class 'HttpRequest' not found in C:\xampp\htdocs\web_services\pecl_http.php on line 3

这就是我安装pecl_http:

的方法

下载并添加以下行到php.ini(线程安全vc9)

extension=php_raphf.dll
extension=php_propro.dll
extension=php_http.dll

这是我运行phpinfo()函数时得到的结果:

enter image description here

我在Windows 8上使用php 5.4.22(xampp)。

为什么在启用pecl扩展时,我发现此类未找到错误?

1 个答案:

答案 0 :(得分:6)

好吧我弄清楚出了什么问题。我安装了http版本2扩展,它是版本1的完整翻新。而不是HttpRequest类,我们有http \ Client()类。我从http://us2.php.net/manual/en/http.install.php的一条评论中获得了这些信息。 http 2的文档位于http://devel-m6w6.rhcloud.com/mdref/http/。文档缺乏示例。