gpt4 book ai didi

php - PECL_HTTP 已安装,但不起作用

转载 作者:可可西里 更新时间:2023-11-01 00:40:38 25 4
gpt4 key购买 nike

我已经安装了 pecl_http,但是当我尝试使用它时,出现错误:

Fatal error: Uncaught Error: Call to undefined function http_get() in /opt/lampp/htdocs/tes_http.php:3 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/tes_http.php on line 3

这是我的 php.ini 配置:

extension="propro.so"
extension="http.so"
extension="raphf.so"
[PHP]

;;;;;;;;;;;;;;;;;;;

请帮我弄清楚为什么该功能不可用。

最佳答案

http 扩展的当前版本( package 名称pecl_http)不提供http_get()功能。此功能已在 2.0.0 版本中删除(紧接在 1.7.6 版本之后)。您可以通过在终端中运行以下命令来查看它:

git clone https://github.com/m6w6/ext-http.git
cd ext-http
git diff RELEASE_1_7_6 RELEASE_2_0_0

虽然在 changelog 中没有明确提及, 在第二个版本中,过程式风格被完全替换为 OOP 风格。

documentation on PHP's official site已经过时了。扩展的作者在 his own site 上托管了新版本.我不会责怪他,因为关于 PECL site 的文档链接指向正确的位置。毫无疑问,他应该从 php.net/manual 中删除旧文档,或者至少更新它。

执行 HTTP GET 请求的新方法意味着使用 http\Client\Request 类:

$request = new http\Client\Request("GET",
"http://example.com",
["User-Agent"=>"MyAgent/0.1"]
);
$request->setOptions(["timeout" => 1]);

$client = new http\Client;
$client->enqueue($request)->send();

$response = $client->getResponse();

关于设置

您应该在 http.so 之前加载依赖项,因为它在 documentation 中被推荐:

; obligatory deps
extension = raphf.so
extension = propro.so

; if shared deps were enabled
extension = hash.so
extension = iconv.so
extension = json.so

; finally load pecl/http
extension = http.so

关于php - PECL_HTTP 已安装,但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40500051/

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