我检查了很多 StackOverflow 帖子,但仍然找不到解决方案。我正在使用 Dropbox PHP API,但我认为这是无关紧要的。问题似乎在于cURL 拒绝使用 CAPATH 或 Dropbox 提供的特定证书来连接到 API,并直接放弃。经过一系列调试测试后,这是我从 CURLOPT_VERBOSE 中得到的输出:
* 添加句柄:conn: 0x252c110
* 添加句柄:发送:0
* 添加句柄:recv:0
* Curl_addHandleToPipeline:长度:1
* - 连接 2 (0x252c110) 发送管道:1,接收管道:0
* 将 connect() 到 api.dropbox.com 端口 443 (#2)
* 尝试 108.160.167.19...
* 连接到 api.dropbox.com (108.160.167.19) 端口 443 (#2)
* 使用certpath初始化NSS:sql:/etc/pki/nssdb
* 无法初始化NSS数据库
* 使用 certpath 初始化 NSS:无
* 无法初始化NSS
* 关闭连接2
Dropbox API 代码集 CURLOPT_CAINFO
和 CURLOPT_CAPATH
。我已经检查 PHP 是否可以访问该目录和该文件。我不明白为什么 cURL 说 Initializing NSS with certpath: none
当我明确提供一个...任何帮助将不胜感激。
最佳答案
我在 Amazon ec2 实例(Amazon linux)上遇到了这个问题,重新启动 apache 修复了它。
使用 apachectl 重新启动没有帮助
所以使用
来做到这一点/etc/init.d/httpd restart
关于PHP cURL,使用 NSS,忽略 CAPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558109/