2016-04-30 11 views
2

PayPal IPNハンドラスクリプトを設定しようとしていますが、以下のエラーが表示されます。fsockopenを使用してSSLの代わりにTLSでPayPal ipnハンドラ

$fp = fsockopen('tls://www.sandbox.paypal.com', 443, $errno, $errstr, 30); 

この行は、これらのエラーを下回る原因となる - 私はstackoverflowの上で検索すると、この問題と解決策を引き起こし、そのSSLのバージョンが変更のよう

curl_setopt($ch, CURLOPT_SSLVERSION, 3); 
であることを理解しようとした

ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: 
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure /mypaypalipn.php 988 
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): Failed to enable crypto /mypaypalipn.php 988 
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): unable to connect to tls://www.sandbox.paypal.com:443 (Unknown error) /mypaypalipn.php 988 

〜:

curl_setopt($ch, CURLOPT_SSLVERSION, 4); 

しかし私はcURLを使用していません。 fsockopenと連携させるにはどうすればよいですか?

これらはするphpinfoからです - あなたが明示的にカールに似fsockopen()でSSLを使用するためのフラグを設定することはできません

登録ストリームソケットトランスポート

tcp, udp, unix, udg, ssl, sslv3, sslv2, tls 

Apache/2.4.12 

SSL Version: OpenSSL/1.0.1e 
+0

私は今、コードをcURLに変更しました。今はうまくいきます。 – NoNice

答えて

0

、あなたはおそらく、その場合は参照代わりにSSLラッパーを使用することができます作品、

fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30) 
+0

はい私はそれをもう一度試しました - それは過去に働いていましたが、Paypalは今セキュリティ上の理由から強制的に執行しています。 – NoNice

関連する問題