Dystopiam 2024-05-10 15:27 采纳率: 0%
浏览 24
已结题

php的curl不支持http2

linux上的curl 支持http2,但php中的curl不支持,把php中的curl指向linux的也没效果!

使用的是宝塔面板。

img

img

  • 写回答

6条回答 默认 最新

  • 笑面虎 2024-05-10 15:27
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    您想要解决的问题:

    您想要解决的问题是 PHP 中的 cURL 扩展不支持 HTTP/2 协议,即使在 Linux 系统上 cURL 支持 HTTP/2,但在 PHP 环境中却无法使用。

    图片内容:

    • 图片1:展示了 PHP 配置信息,包括已启用的扩展和一些配置选项。其中提到了 HTTP2 支持为 No,这表明 PHP 的 cURL 扩展不支持 HTTP/2。
    • 图片2:展示了 Linux 系统上 cURL 命令行工具的版本信息和支持的协议,其中 HTTP2 支持为 Yes,说明系统级的 cURL 支持 HTTP/2。

    问题出现原因:

    问题出现的原因是 PHP 的 cURL 扩展在编译时可能没有包含对 HTTP/2 的支持。这可能是因为:

    1. 默认情况下,PHP 的 cURL 扩展可能不包含 HTTP/2 支持。
    2. PHP 环境可能是在不支持 HTTP/2 的旧版本 cURL 上编译的。

    问题解决方案:

    为了解决这个问题,您可以尝试以下步骤:

    1. 更新 PHP:确保您的 PHP 版本是最新的,因为较新版本的 PHP 可能已经包含了对 cURL 的 HTTP/2 支持。

    2. 重新编译 PHP:如果更新 PHP 版本后仍然不支持 HTTP/2,您可能需要重新编译 PHP,确保在编译时包含 --with-curl 选项,这将启用对 cURL 的支持。

    3. 使用其他 HTTP 客户端:如果重新编译 PHP 仍然无法解决问题,您可以考虑使用其他支持 HTTP/2 的 PHP HTTP 客户端库,如 Guzzle。

    4. 联系宝塔面板支持:由于您使用的是宝塔面板,您可以联系他们的技术支持寻求帮助。

    提供代码:

    如果您选择重新编译 PHP,以下是基本的编译步骤:

    wget https://www.php.net/distributions/php-7.x.x.tar.gz
    tar xzf php-7.x.x.tar.gz
    cd php-7.x.x
    
    ./configure --with-curl
    make
    sudo make install
    

    请将 7.x.x 替换为您想要安装的 PHP 版本号。

    代码运行方式:

    您需要在 Linux 系统上运行上述命令。确保您有 root 权限或使用 sudo 来执行安装。

    代码预期运行结果:

    成功编译并安装了支持 HTTP/2 的 PHP 版本。

    推荐相关链接:

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月10日
  • 创建了问题 5月10日

悬赏问题

  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题