首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Braintree PHP异常

Braintree PHP异常
EN

Stack Overflow用户
提问于 2016-12-14 03:37:09
回答 2查看 1.5K关注 0票数 1

当我试图使用Braintree_Exception_SSLCertificate生成一个客户端令牌时,我总是会得到一个Braintree_ClientToken::generate()异常。我已经加载了SDK,我的PHP设置似乎满足了SDK的最低要求。

我正在运行的PHP和cURL版本是:

PHP 5.5.3

cURL 7.32.0OpenSSL/1.0.1e。在我的cURL模块中启用了SSL。

我注意到Braintree正在执行TLS1.2,所以我认为这可能是问题所在,但我尝试在Braintree SDK中向Http.php添加以下行:

代码语言:javascript
复制
curl_setopt($curl, CURLOPT_SSLVERSION, 6);

这应该将cURL设置为使用TLS 1.2,但它似乎没有帮助,我不知道如何验证设置是否生效。

我还没有成功地向Braintree的API发出请求,所以我担心这是我做错的事情,或者我使用的cURL版本是不好的。有什么是我需要启用SSL,我错过了吗?

谢谢布拉德。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-19 21:01:43

完全披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系支持

您正在使用的cURL版本可能是您的问题,因为libcurl版本应该大于7.40。我建议对此版本进行更新,因为TLS 1.2支持是在该版本及其以后添加的。

此外,此github链接将引导您完成Braintree所需的过程,以使您的PHP集成与TLS1.2保持最新。我提到这一点,因为您希望有一种方法来检查您的cURL是否被设置为实例化TLS1.2。

这样做的方法是:php -r 'echo json_encode(curl_version(), JSON_PRETTY_PRINT);'

票数 3
EN

Stack Overflow用户

发布于 2017-12-09 09:56:05

好吧,我刚爬过喜马拉雅山。上面的解决方案根本不是一个解决方案。这是我为解决这个问题所做的。对于Centos 7机器来说,yum更新有时是无用的。唯一的解决方案是手动更新OpenSSL和Curl。

有15个步骤:

下载最新的OpenSSL软件包。

代码语言:javascript
复制
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

解压缩

代码语言:javascript
复制
tar -xzvf openssl-1.0.2l.tar.gz

输入文件夹

代码语言:javascript
复制
cd openssl-1.0.2l

配置

代码语言:javascript
复制
./config --shared 

安装

代码语言:javascript
复制
make && make install

这不是旅程的结束,你也必须更新卷发。下载最新版本的curl。

代码语言:javascript
复制
wget https://curl.haxx.se/download/curl-7.55.1.tar.gz

解压缩

代码语言:javascript
复制
tar -xzvf curl-7.55.1.tar.gz

输入文件夹

代码语言:javascript
复制
cd curl-7.55.1

设置库路径

代码语言:javascript
复制
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib

配置

代码语言:javascript
复制
./configure --prefix=/usr/local/curl/ --without-nss --with-ssl=/usr/local/ssl/

安装

代码语言:javascript
复制
make && make install

备份一点

代码语言:javascript
复制
mv /usr/bin/curl /usr/bin/curl.bak

链接它

代码语言:javascript
复制
ln -s /usr/local/curl/bin/curl /usr/bin/curl

最后,检查您的卷曲版本

代码语言:javascript
复制
curl --version

如果您正确地执行了所有这些步骤,它将显示

代码语言:javascript
复制
curl 7.55.1 (x86_64-pc-linux-gnu) libcurl/7.55.1 OpenSSL/1.0.2l
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41134473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档