gpt4 book ai didi

php - cURL 错误 : Cannot connect: SSL is disabled. 错误编号 35

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:31 25 4
gpt4 key购买 nike

我正在使用 Centos 7 托管在 Digital Ocean 盒子上的一个应用程序中处理 paypal ipn 脚本。

当我尝试连接到 paypal 沙箱 api 时,出现错误“无法连接:SSL 已禁用。”

我已经尝试了几种方法,比如在我的 php.ini 文件中添加 curl.cainfo 的路径,就像这样
curl.cainfo =/etc/pki/tls/certs/ca-bundle.trust.crt

这是我的 cURL 脚本的样子

// STEP 2: Post IPN data back to paypal to validate

$ch = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr'); // change to [...]sandbox.paypal[...] when using sandbox to test
curl_setopt($ch, CURLOPT_SSLVERSION, 4);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'ecdhe_rsa_aes_128_gcm_sha_256');
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

我在 Linux 服务器设置方面没有太多经验,所以我边走边学。非常感谢任何帮助或指导

更新:当我在命令行中运行这个命令时curl --version https://sandbox.paypal.com/cgi-bin/webscr

我收到这个错误curl:(1) libcurl 不支持或禁用协议(protocol)“https”

还有命令 curl --version显示 curl 7.42.1 (x86_64-unknown-linux-gnu) libcurl/7.46.0

所以我猜新问题是如何在 libcurl 中启用 https?

最佳答案

您设置了错误的 SSL 版本:

curl_setopt($ch, CURLOPT_SSLVERSION, 4);

Paypal sandbox only supports TLS 1.2 (这是 CURLOPT_SSLVERSION == 6)。如果您使用 PHP 5.5.19+ 和 OpenSSL 1.0.1+,将自动使用正确的 SSL 版本,或者您可以使用以下命令自行强制使用(仍然需要 OpenSSL 1.0.1+):

curl_setopt($ch, CURLOPT_SSLVERSION, 6);

关于php - cURL 错误 : Cannot connect: SSL is disabled. 错误编号 35,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com