PECL_HTTP 无法识别 php ubuntu

2024-01-07

我正在尝试使用 HttpRequest 类,该类应该位于 php 的 PECL_HTTP 扩展中。 我有 php5 并使用以下命令安装 pecl_http。

sudo pecl install pecl_http

pecl/pecl_http is already installed and is the same as the released version 2.0.1
install failed

之后我进入我的 php.ini:

[PHP]
extension=http.so
[...]

然后我重新启动我的 apache2 服务器,并尝试使用 HttpRequest 类,但它给了我以下错误:

PHP Fatal error:  Class 'HttpRequest' not found

我可能错过了哪些可能的错误?

UPDATE:(改标题了)

扩展未显示在 phpinfo() 中,我设置了

extension=http.so

并检查是否http.so文件在我的extension_dir。我真的不知道如何让php识别扩展名。

UPDATE 2: 我设法安装了扩展,但该类仍然不存在。 对于其他人,我必须参考 pecl_http 需要的其他扩展。 (为我:propro.so, raphfr.so)

UPDATE 3: 我没有设法使该类可见,下面的答案显示了其他类的一些方法。

我通过使用 CURL 解决了这个问题。


您已经安装了新版本的扩展,它使用完全不同的 API。我仍然不知道它是如何工作的,但我会更新我知道的答案。新版本的文档可以在以下位置找到http://devel-m6w6.rhcloud.com/mdref/http http://devel-m6w6.rhcloud.com/mdref/http.

要安装旧版本,请先卸载新版本,然后执行

pecl install http://pecl.php.net/get/pecl_http-1.7.6.tgz

更新:这里是文档中的两个示例,两者都应该运行良好:

一个请求(可以在http://devel-m6w6.rhcloud.com/mdref/http/Client/enqueue http://devel-m6w6.rhcloud.com/mdref/http/Client/enqueue):

<?php
(new http\Client)->enqueue(new http\Client\Request("GET", "http://php.net"), 
    function(http\Client\Response $res) {
        printf("%s returned %d\n", $res->getTransferInfo("effective_url"), $res->getResponseCode());
        return true; // dequeue
})->send();

多个请求(可以在http://devel-m6w6.rhcloud.com/mdref/http/Client/once http://devel-m6w6.rhcloud.com/mdref/http/Client/once):

<?php
$client = new http\Client;
$client->enqueue(new http\Client\Request("HEAD", "http://php.net"));
$client->enqueue(new http\Client\Request("HEAD", "http://pecl.php.net"));
$client->enqueue(new http\Client\Request("HEAD", "http://pear.php.net"));

printf("Transfers ongoing");
while ($client->once()) {
    // do something else here while the network transfers are busy
    printf(".");
    // and then call http\Client::wait() to wait for new input
    $client->wait();
}
printf("\n");

while ($res = $client->getResponse()) {
    printf("%s returned %d\n", $res->getTransferInfo("effective_url"),
        $res->getResponseCode());
}

在这两个示例中,您都可以使用$res->getBody()返回响应的正文。

我无法测试这些例子,但我听说其他人认为它们有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PECL_HTTP 无法识别 php ubuntu 的相关文章

  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • “为什么”脚本不打印任何内容? [复制]

    这个问题在这里已经有答案了 当我运行以下脚本时 没有打印任何内容 为什么会这样呢 echo var gt 它回显 无 因为您的浏览器无法理解
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • 根据数组计数填充复选框

    我是新来的php我已经使用了它的开发php array 我想填充checkboxes根据数组计数 为了做到这一点 我尝试了以下方式 它对我不起作用 有什么方法可以做到这一点 在我的例子中 数组计数 5 所以我相应地需要 5 个复选框
  • 如何让 shell_exec 在 IIS 6.0 上运行

    问题 我有一个 PHP 脚本 它使用shell exec运行 pdf 到文本转换器 为了简化问题 我创建了一个简短的脚本 使用shell exec只是回显的输出dir命令 当我在 Apache 服务器上运行它时 一切都按预期运行 当我切换到
  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • $_POST、$_GET 和 $_REQUEST 之间有什么区别?

    我对这些超级全局变量有点困惑 POST GET and REQUEST 在 PHP 中 在 PHP 中哪些场景需要使用这些变量 这三个变量的主要区别是什么 POST是在使用 application x www form urlencoded
  • Facebook 中用户的时区是如何编码的

    我需要检查用户的时区 但我找不到它的真正定义 参考API http developers facebook com docs reference api user says 用户的时区与 UTC 的偏移量 现在在维基百科上这些是可能的时区
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • Node.js 进行 rsa 加密的正确方法?

    我正在尝试创建一个 WS 来发出肥皂请求 在消息正文中有一个包含加密文本的字段 我有公钥来加密文本 但我获得的唯一结果是文本无法识别 我使用节点的加密模块来发出请求 并且文本已加密 但我不知道为什么没有正确加密 PS我用 openssl p
  • PHP 相等变量

    我想知道是否有任何方法可以检查大量变量是否相等 如果我只有几个变量 我可以这样做 if a b a c b c 但是 如果我有 20 个变量 则需要一些时间来编写所有组合 还有其他方法吗 if count array unique arra
  • DOMPDF - 未找到“字体”类

    我正在尝试通过命令行添加字体 每次我尝试都会收到以下错误 Fatal error Class Font not found in home scripts public html MarketingPalv2 load font php o
  • Twig:选择某些块并渲染它们

    我正在将 twig 模板引擎集成到 PHP 应用程序中 特别是 我想使用 twig 引擎来渲染表单 了解了 symfony2 如何使用 twig 渲染表单小部件后 他们有一个巨大的模板文件 其中包含所有小部件 如下所示 block pass
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • Laravel 5.3:护照实现 - {“error”:“invalid_client”,“message”:“客户端身份验证失败”}

    我按照中提到的确切步骤进行操作Laracast Laravel 5 3 的新增功能 Laravel Passport https laracasts com series whats new in laravel 5 3 episodes
  • 禁用/启用用户访问/下载,但允许 php 编辑 - 使用 chown 和 chmod

    我想 move uploaded files到某个文件夹 比方说http localhost myproject protected 并且 PHP 应该能够rm mv cp 里面的一切protected 例如 启用 禁用用户对任何文件的访问

随机推荐