Seems if you are using NSS instead of OpenSSL, Having Cipher List is causing the issue, as TLSv1 is not in the NSS.
If you are having that error, you might want to run
php -r "print_r(curl_version());"
If the output has
[ssl_version] => NSS/...
It means, you have NSS. Then you can just remove the CURLOPT_SSL_CIPHER_LIST from the array
public static $DEFAULT_CURL_OPTS = array(
CURLOPT_SSLVERSION => 1,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_TIMEOUT => 60, // maximum number of seconds to allow cURL functions to execute
CURLOPT_USERAGENT => 'PayPal-PHP-SDK',
CURLOPT_HTTPHEADER => array(),
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_SSL_VERIFYPEER => 1,
);
EDIT: The release was made with the fix at : https://github.com/paypal/sdk-core-php/releases/tag/v2.5.8
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…