【问题标题】:HttpRequest not found in php在 php 中找不到 HttpRequest
【发布时间】:2013-09-05 22:16:24
【问题描述】:

我只想用 post 参数创建一个 httprequest。我用了这段代码

$r = new HttpRequest($url, HttpRequest::METH_POST);
$r->send();

但我收到此错误:

ErrorException [致命错误]:类 'HttpRequest' 不是

我将extension=php_http.dll 添加到我的php.ini 中,但问题仍然存在。 我下载了 php_http.dll 文件并将其插入到 php 的 ext 文件夹中,但它已经存在,所以我更换了,仍然有同样的问题。

任何帮助将不胜感激

【问题讨论】:

  • 您好,请问您确认该dll存在于php的扩展文件夹中了吗?

标签: php httprequest


【解决方案1】:

如果您使用的是 php 5.4 或更高版本,您的扩展库中似乎没有包含 php_http.dll 文件(除非有人能找到我错过的一个??)。

在更新 php.ini 配置文件以包含扩展名后,我发现在启动 Apache 服务器时生成错误的唯一一个。

不过不要害怕,因为似乎有一个 GitHub 项目在类中提供功能,而不是扩展。 Click here to find the required class.

如果你把这个类保存在你的项目中并像这样调用;

include_once('HttpRequest.php'); //where HttpRequest.php is the saved file
$url= 'http://www.google.com/';
$r = new HttpRequest($url, "POST");
var_dump($r->send());

如果做不到这一点,似乎唯一可行的选择是自己从源代码here 编译 .dll :(

否则,另一种选择是改用 cURL。 cURL 提供了httpRequest 的大部分(如果不是全部)功能。

一个简单的例子是;

$url = "http://www.google.com/";        
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body 
$head = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
var_dump($head);

更多细节和更好的例子可以在php网站Here找到

我希望这有助于回答您的问题,而不是给您留下更多...

【讨论】:

  • php_http.dll for PHP 5.4 可以在github.com/stealth35/stealth35.github.com/downloads找到
  • 啊,我到底是不是瞎了眼?感谢您协助查找 php_http.dll。您知道在包含php.ini 并重新启动Apache 服务后,上述.dll 是否可以正常运行?
  • 在我的 PHP 5.4.7 安装中运行良好。 phpinfo() 报告扩展 http 版本 1.7.4 已启用并正在工作。
  • 必须是我的构建,或者我当时下载的版本。我会从stealth35 那里得到一个并更新
【解决方案2】:

您需要确保有一个与您的 PHP 版本相匹配的 php_http.dll。您可以通过<?php phpinfo(); 检查是否加载了扩展(查找“http”,它将列出版本和可用的类)。

如果扩展名没有出现在 phpinfo() 中,您应该检查您的日志以了解问题出在哪里,或者直接从命令提示符运行 PHP 二进制文件 — php -i。如果加载动态库时出现任何错误,它将显示在对话框中。请注意,即使扩展加载失败,PHP 仍将继续运行。

【讨论】:

    【解决方案3】:

    你可以重新安装包

    $ pecl install -f pecl_http-1.7.6
    

    或使用 curl 访问数据,例如 this snippet

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多