Od wielu miesięcy powtarzają się prośby od Paypal do użytkowników udostępnionych interfejsów w celu aktualizacji ich systemów do aktualnych wersji lub nawiązywania połączeń wyłącznie za pośrednictwem aktualnych protokołów. W zasadzie nie stanowi to problemu, ponieważ większość systemów operacyjnych, nawet tych kilkuletnich, może to bez problemu wspierać.
Możesz przetestować swój system, na przykład za pomocą następującego polecenia:
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'
Wartość zwrotu wynosi albo
PayPal_Connection_OKbool(true)
struna(0) "
lub jeśli to nie wyjdzie:
bool(fałszywy)
łańcuch(17) "Błąd połączenia SSL"
Ten ostatni błąd występuje na przykład pod Redhat/Centos6.
W zasadzie, związek z Redhat6 działa również pod tls 1.2 ale niestety używany program "curl" nie negocjuje automatycznie tego połączenia z tls1.2. Ten błąd został zaktualizowany przez RedHat w maju i wkrótce będzie dostępny także dla Centos6. Jako operator serwera WWW powinieneś więc zaktualizować wszystkie pakiety do najnowszej wersji, a w szczególności używać curla od wersji 7.19.7-52. Redhat
Do tego czasu musiałbyś poprosić o curl, aby użyć aktualnej wersji, np. z :
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_SSLVERSION, 6); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'.
Ale nie ma powodu do paniki. Ze względu na lenistwo w aktualizacji większości użytkowników Paypal przedłużył termin zmiany protokołów lub wyłączenia starych protokołów o 1 rok do 30.6.2017 roku.