欢迎来到奇迪科技(深圳)有限公司,超值服务提供卓越产品!
现阶段Linux中的PHP环境,自带的Curl不支持HTTP2,如果你要用到Curl模块,建议升级为支持HTTP2的Curl2.0,要cUrl支持HTTP2.0,须先安装nghttp2,然后重新编译PHP,最好是在配置WEB环境之处就在Linux系统中给PHP安装Curl2.0扩展。
想要cUrl支持HTTP2.0,那就必须先安装nghttp2然后再重新编译cUrl,下面介绍如何在Linux系统安装Curl2.0扩展,让cUrl支持HTTP2.0:
1、安装nghttp2的指令:
[root@host root]# git clone https://github.com/tatsuhiro-t/nghttp2.git [root@host root]# cd nghttp2/ [root@host nghttp2]# autoreconf -i [root@host nghttp2]# automake [root@host nghttp2]# autoconf [root@host nghttp2]# ./configure [root@host nghttp2]# make [root@host nghttp2]# make install [root@host nghttp2]# ldconfig [root@host nghttp2]# cd ..
2、重新编译curl命令:
[root@host root]# wget https://curl.haxx.se/download/curl-7.73.0.tar.gz [root@host root]# tar -zxvf curl-7.73.0.tar.gz [root@host root]# cd curl-7.73.0/ [root@host curl-7.73.0]# ./configure --with-nghttp2=/usr/local --with-ssl --enable-tls-srp [root@host curl-7.73.0]# make && make install [root@host curl-7.73.0]# ldconfig [root@host curl-7.73.0]# cd ..
3、确认系统的curl命令是否已经支持HTTP2.0:
[root@host root]# curl --version
当看到有HTTP2 字样,说明已经支持。
例如:
curl 7.73.0 (x86_64-pc-linux-gnu) libcurl/7.73.0 OpenSSL/1.0.2k-fips zlib/1.2.7 nghttp2/1.59.0-DEV Release-Date: 2020-10-14 Protocols: dict file ftp ftps gopher http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
4、重新编译PHP或直接升级PHP:
./upgrade.sh php
*需要注意的是,需要重新编译、安装之前已经安装了其他非自带的扩展,例如:redis、GMP等,那你可能需要重新安装这些扩展。
5、使用PHP探针或者PHP运行phpinfo();查看结果,如果安装成功,您将会在“curl”模块列表中看到HTTP2的状态值为“Yes”。至此,您WEB环境的cUrl已经支持HTTP2了。
本文版权所有,转载须注明:来源 https://www.qvdv.net/qvdv-zhuji-26.html