为了账号安全,请及时绑定邮箱和手机立即绑定

phpbrew php7 抛出 gnutls_handshake() 失败:非法参数

phpbrew php7 抛出 gnutls_handshake() 失败:非法参数

PHP
慕哥9229398 2021-11-05 16:16:58
我已经在 ubuntu 14.04 上成功编译了 php7.1.30。当我测试代码的和平时/ Get cURL resource$curl = curl_init();// Set some options - we are passing in a useragent too herecurl_setopt_array($curl, [    CURLOPT_RETURNTRANSFER => 1,    CURLOPT_URL => 'https://buy.itunes.apple.com',    CURLOPT_USERAGENT => 'Codular Sample cURL Request',    CURLOPT_POST => 1,    CURLOPT_POSTFIELDS => [        'item1' => 'value',        'item2' => 'value2'    ]]);curl_setopt($curl, CURLOPT_VERBOSE, true);// Send the request & save response to $resp$resp = curl_exec($curl);// Close request to clear up some resourcesif (!$resp) {    echo('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));   echo "\n";}curl_close($curl);我有错误 Error: "gnutls_handshake() failed: Illegal parameter" - Code: 35详细的输出是: Rebuilt URL to: https://buy.itunes.apple.com/* Hostname was NOT found in DNS cache*   Trying 17.173.66.180...* Connected to buy.itunes.apple.com (17.173.66.180) port 443 (#0)* found 148 certificates in /etc/ssl/certs/ca-certificates.crt* gnutls_handshake() failed: Illegal parameter* Closing connection 0有时这会成功,似乎苹果 TLS 支持不一致。但是,如果我在 Ubuntu 18.04 上构建相同的代码,它可以 100% 工作,如果我再次使用 php 5.5.9(dist 版本)运行相同的代码,则 100% 工作。到目前为止,我计划升级到 ubuntu 18.04 以使其正常工作,因为我未能克服上述问题。我尝试了不同的 /etc/ssl/cert ca 文件但没有成功。
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

不幸的是,唯一的方法是在 ubuntu 上使用较新的更改 openssl-dev lib 并再次重新编译。

但是,我决定在您的基础架构中摆脱 ubuntu 14.04 - 加快 Ubuntu 14 的计划折扣并替换为 amazon linux 2。


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 203 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信