私は新しいPayPalテストエンドポイントに対してテストしようとしています:https://tlstest.paypal.com
。PayPal TLSテストURL - PHPカールSSLプロトコルエラー
このページの一番下にあるTLS 1.2 and HTTP/1.1 Upgrade Microsite(確認してください...)。
私はPHP(5.3.28)を使用し、カール(7.30.0 - OpenSSLの/ 0.9.8y - libssh2の/ 1.4.2)だのWindows Server 2008 R2上および7.5のIIS:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://tlstest.paypal.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // CURL_SSLVERSION_TLSv1_2
$result = curl_exec($ch);
echo 'result = '.$result.'<br>';
echo 'errno = '.curl_errno($ch).'<br>';
echo 'error = '.curl_error($ch).'<br>';
curl_close($ch);
私はこのエラーになっ「メートル:
Openssl must be at 1.0.1 or higher for TLS 1.2.
これは正しいです..:誰かが言うれるGithub - Unknown SSL protocol error:
35 Unknown SSL protocol error in connection to tlstest.paypal.com:443
を私はこれを見つけましたか?
私のPHP OpenSSLはバージョン番号OpenSSL/0.9.8y
(phpinfo()
)です。
あなたは、おそらく低いOpenSSLのバージョン(私はそれはたくさんだ推測している!)とPHPを実行しているすべてのサーバがPayPalのAPIのを使用することができないか、でしょうTLS 1.2を使用するようにOpenSSL 1.0.1以上が必要です場合すぐにPayPal IPN
WindowsでPHP OpenSSLバージョンを更新するにはどうすればよいですか?
PHP 5.6にアップグレードした後、自分でSSLバージョンを指定せずにSSLハンドシェイクが正常に完了しましたか?そしてあなたのカールバージョンもアップデートしましたか、それともまだ7.30ですか? –
私はSSL版を残しましたので、それがなくてもうまくいくかどうかわかりませんが、すぐに試してみるかもしれません... PHP 5.6.0に付属していると思われるバージョン7.36.0になりました。 –