升级到MAMP Pro for OS X,运行Sierra并使用PayPal付款时遇到了另一个烦人的问题。 PHP SDK for PayPal中有一个TLSCheck.php。
当我跑步时,我得到:
FAILURE: SECURITY WARNING: TLSv1.2 is not supported on this system.
请将你的卷曲升级到至少7.34.0。 - 当前卷曲版本:7.50.3 - 当前的OpenSSL版本:OpenSSL / 1.0.2j(失败)
SSL certificate problem: certificate has expired
我实际上正在使用最新的curl和openssl。
我意识到可能存在许多与此相关的问题,但MAMP Pro 4.x假设有更新的openssl和curl支持。
我的phpinfo显示:
OpenSSL的
OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.2j 26 Sep 2016
OpenSSL Header Version OpenSSL 1.0.2j 26 Sep 2016
Openssl default config /Applications/MAMP/Library/OpenSSL/openssl.cnf
Directive Local Value Master Value
openssl.cafile no value no value
openssl.capath no value no value
和
卷曲
cURL support enabled
cURL Information 7.50.3
Age 3
Features
AsynchDNS No
CharConv No
Debug No
GSS-Negotiate No
IDN No
IPv6 Yes
krb4 No
Largefile Yes
libz Yes
NTLM Yes
NTLMWB Yes
SPNEGO No
SSL Yes
SSPI No
TLS-SRP Yes
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp
Host x86_64-apple-darwin16.1.0
SSL Version OpenSSL/1.0.2j
ZLib Version 1.2.8
我实际上重新编译了cURL。
我在我的主机上运行了一个带有SSL证书的开发服务器和站点(MAMP),我可以正常连接,证书显示为有效。
不确定这一切是如何工作的,之前我曾经使用过早期的操作系统版本和MAMP 3.x,但重新编译它们似乎解决了问题。我是否必须指定openssl.cafile路径,curl_setopt($ ch,使用CURLOPT_CAINFO,/ CAcerts / .crt");或者在某处指定curl.cainfo = c:\ path \到\ cacert.pem,或者是paypal配置问题。