我在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()函数时得到的结果:
我在Windows 8上使用php 5.4.22(xampp)。
为什么在启用pecl扩展时,我发现此类未找到错误?
答案 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/。文档缺乏示例。