【发布时间】:2013-06-21 12:11:23
【问题描述】:
我正在调试某人在使用 PHP 插件访问支付网关时遇到的问题。在单击“结帐”按钮后,他能够避免 404 错误的唯一方法是将 CURLOPT_SSL_VERIFYPEER 和 CURLOPT_SSL_VERIFYHOST 设置为 0。我知道这很糟糕,但有人知道为什么会这样吗?似乎不信任支付网站的 SSL 证书……这可能只是他的服务器不信任某些 SSL 证书的问题吗?当检查打开时,他从 curl_exec() 函数得到的响应只是错误的。
编辑:所以我看到了多个解决方案,说在获取证书文件后向我的 curlopt 行添加类似的内容:
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/certificate.cert");
但是,如果我要与一群遇到此问题的不同客户打交道怎么办?这条路并不适合所有人。我可以用什么来代替适用于每个人的内容?
如果我不能写一个通用的行,那么我会告诉这个人把他们的证书文件放在哪里?这必须由他们的网络托管服务来完成,对吧?
【问题讨论】:
-
这是它返回的错误:Curl Error: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none