phpbrew php7 抛出 gnutls_handshake() 失败:非法参数
phpbrew php7 throws gnutls_handshake() failed: Illegal parameter
我已经在 ubuntu 14.04 上成功编译了 php7.1.30。
当我测试代码的和平
/ Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_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 resources
if (!$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 文件,但没有成功。
感谢帮助。
不幸的是,唯一的方法是在 ubuntu 上的更改 openssl-dev lib 中使用较新的 openssl-dev lib 并再次重新编译。
但是我决定在您的基础设施中摆脱 ubuntu 14.04 - 加快 Ubuntu 14 的计划折扣并替换为亚马逊 linux 2.
我已经在 ubuntu 14.04 上成功编译了 php7.1.30。 当我测试代码的和平
/ Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_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 resources
if (!$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 文件,但没有成功。
感谢帮助。
不幸的是,唯一的方法是在 ubuntu 上的更改 openssl-dev lib 中使用较新的 openssl-dev lib 并再次重新编译。
但是我决定在您的基础设施中摆脱 ubuntu 14.04 - 加快 Ubuntu 14 的计划折扣并替换为亚马逊 linux 2.