簡體   English   中英

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上的opensl-dev lib中使用較新的版本並再次重新編譯。

但是,我決定在您的基礎架構中放棄ubuntu 14.04-加快Ubuntu 14的計划折扣,並替換為Amazon Linux 2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM