OS: Ubuntu 16.01
PHP: 7/0
基于一些谷歌搜索,以及StackOverflow上的问题输入,我设置了以下Curl选项:
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_CAINFO = '/etc/ssl/certs',
我验证了/ etc / ssl / certs目录存在,并且它是最新的。
我还修改了文件/etc/php/7.0/cli/php/ini:
openssl.capath='/etc/ssl/certs'
当我尝试进行Curl调用时,出现以下错误:
[error] => error setting certificate verify locations:
CAfile: /etc/ssl/certs
CApath: /etc/ssl/certs
我将/ etc / ssl / certs中的权限编辑为:
rwxr-xr-x
但我得到同样的错误。
有什么想法吗?
答案 0 :(得分:1)
CURLOPT_CAINFO
。如果你想使用整个目录(就像你通常想在Ubuntu上做的那样),只需设置CURLOPT_CAPATH
值。
来自the docs:
CURLOPT_CAINFO:包含一个或多个证书以验证对等方的文件的名称。
CURLOPT_CAPATH:包含多个CA证书的目录。