Protocol “https“ not supported or disabled in libcurl
现在凌晨2:13,我是从早上9点开始解决问题的,这个问题出现微信开发引出的。
最后问题出在PHP curl配置上。php curl 扩展不支持https,如何将ssl=>no装换为yes?
Composer update 报错: Protocol “https“ not supported or disabled in libcurl
php代码运行也报错: Protocol “https“ not supported or disabled in libcurl
开始排查问题:
1.openssl,如果没有安装openssl请百度安装
openssl version -a
2.curl
$ curl -V
curl 7.77.0 (x86_64-apple-darwin19.6.0) libcurl/7.77.0 OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.9 zstd/1.4.5 libidn2/2.3.0 nghttp2/1.41.0 librtmp/2.3
Release-Date: 2021-05-26
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets zstd
其中 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt如果没有https请重新安装curl。方法:
https://curl.se/download/下载curl
解压,进入解压目录
which openssl
./configure --with-ssl=/usr/local/bin/openssl
make
make install

编译安装成功后,curl -V查看版本

3.如果以上两项都没有问题了,查看php curl扩展
打印phpinfo() 或者命令 php --ri curl


出现上述两种情况说明php curl 扩展不支持https,如何将ssl=>no装换为yes?
我各种安装都没有效果,因为我当前php版本7.4.6,各种尝试十多个小时,反复重复编译安装php也不行,我觉得是/php/ext/curl/ 这个目录原本存在问题,于是下载了7.4.19


解压
复制整个curl覆盖掉7.4.6的

重新编译安装7.4.6
我这里是MacBook,
所以又根据当前各种库把命令修改好执行
Yanzhongxin:php-7.4.6 admin$ cd /php7.4.6/
Yanzhongxin:php-7.4.6 admin$ './configure' '--prefix=/Applications/MxSrvs/bin/php' '--with-openssl=/private/etc/ssl' '--with-config-file-path=/Applications/MxSrvs/bin/php/etc' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv=/Applications/MxSrvs/libs/_libiconv/1.16' '--with-zlib' '--with-curl=/Library/curl-7.77.0' '--with-jpeg' '--with-freetype' '--with-mhash' '--with-gettext=/Applications/MxSrvs/libs/_gettext/0.20.2' '--with-pear' '--without-gdbm' '--enable-gd' '--enable-mbstring' '--enable-ftp' '--enable-bcmath' '--enable-sockets' '--enable-xml' '--enable-mbregex' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-fpm' '--disable-fileinfo' '--disable-rpath' 'PKG_CONFIG_PATH=/Applications/MxSrvs/libs/_libxml/2.9.9/lib/pkgconfig:/Applications/MxSrvs/libs/_openssl/1.1.1g/lib/pkgconfig:/Applications/MxSrvs/libs/_sqlite/3.31.1/lib/pkgconfig:/Library/curl-7.77.0/lib/pkgconfig:/Applications/MxSrvs/libs/_zlib/1.2.11/lib/pkgconfig:/Applications/MxSrvs/libs/_libpng/1.6.37/lib/pkgconfig:/Applications/MxSrvs/libs/_jpeg/9d/lib/pkgconfig:/Applications/MxSrvs/libs/_freetype/2.10.2/lib/pkgconfig:/Applications/MxSrvs/libs/_oniguruma/6.9.5/lib/pkgconfig:/Applications/MxSrvs/libs/_libgd/2.3.0/lib/pkgconfig:'
【这里注意
--with-openssl=/private/etc/ssl 这里是我执行命令 openssl version -a 获取的OPENSSLDIR

curl路径 --with-curl=/Library/curl-7.77.0 是我刚刚安装curl的路径】
接着执行make
没有报错则执行make install,下面是遇到的报错

没有报错则查看 php curl 扩展详情

成功解决
总结:其实这次遇到的问题就是php curl扩展没有开启ssl,php7.4.6 curl目录自身存在问题,所以反复编译安装没用,解决办法就是找到同版本7.4.x的ext/curl目录直接覆盖原目录,再次编译安装
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)