gpt4 book ai didi

php - PECL_HTTP 无法识别 php ubuntu

转载 作者:行者123 更新时间:2023-12-02 04:43:46 25 4
gpt4 key购买 nike

我正在尝试使用 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

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

更新:(更改了标题)

扩展没有显示在phpinfo()中,我设置

extension=http.so

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

更新 2:我设法安装了扩展,但该类仍然不存在。对于其他人,我必须引用 pecl_http 需要的其他扩展。 (对我来说:propro.soraphfr.so)

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

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

最佳答案

您已经安装了使用完全不同 API 的新版本扩展。我仍然不知道它是如何工作的,但我会更新我知道的答案。新版本的文档位于 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 找到):

<?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 找到):

<?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() 返回响应的正文。

我无法测试这些示例,但我听说其他人可以使用它们。

关于php - PECL_HTTP 无法识别 php ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20228088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com