php - cURL 需要 CURLOPT_SSL_VERIFYPEER=FALSE

标签 php curl ssl https ssl-certificate

我在本地主机上使用 cURL 的时间最长,突然间我发现它不再有效,除非我明确设置选项 CURLOPT_SSL_VERIFYPEER=FALSE

我不知道这是如何/何时发生变化的,但我使用的是 NGINX 和 PHP,我可以验证这不是特定请求主机的特定问题。我从 https://site1.comhttps://different-site.com 收到空白回复。

有人有什么想法吗?

最佳答案

感谢 Dave Chen 的建议,我意识到我一定是放错了我的证书。该问题已通过 cURL 创建者(从 Mozilla 中提取)提供的证书解决:https://curl.haxx.se/ca/cacert.pem

因此,在将此 cacert.pem 文件下载到您的项目后,您现在可以在 PHP 中执行此操作:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_CAINFO, "/path/to/cacert.pem");

或者,这可以通过将以下内容添加到您的 php.ini 中进行全局设置

curl.cainfo=/path/to/cacert.pem

关于php - cURL 需要 CURLOPT_SSL_VERIFYPEER=FALSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971983/

相关文章:

php - 删除laravel中的一行时删除所有关系

php - .htaccess seo 重写

node.js - 如何使用 Fetch API 忽略 SSL/TLS 验证?

Python 错误 SSL : ssl. SSLError : [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl. c:726)

PHP Curl 错误 : Unable to load client cert -8018.(连接到 SSO API)

php - postman (chrome 应用程序)在将发布的 JSON 代码传递给 API(codeigniter)时返回 500 内部服务器错误

php - Zend MVC::如何将javascript文件+ javascript代码插入到部分头部或正文区域?

javascript - 无法从 http post 方法获取 req.body 属性

java - 运行/ curl 部署并公开到 AWS 上托管的 Kubernetes 集群的简单 Java 应用程序

PHP CURL Open Ai 从发布数据中删除引号