在 Redhat Linux 上,在 PHP 脚本中我设置 cURL 选项如下:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($ch, CURLOPT_CAINFO, '/home/andrew/share/cacert.pem');
但是我在尝试发送数据时遇到了这个异常
(curl error: 77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
为什么要在中寻找 CAfile /etc/pki/tls/certs/ca-bundle.crt
?我不知道这个文件夹是从哪里来的,因为我没有把它放在任何地方。
它不应该在我指定的地方寻找/home/andrew/share/cacert.pem
吗?我没有写入权限/etc/
,因此无法简单地复制文件。我是否缺少我应该使用的其他一些 curl 选项?
(这是在共享主机上——是否有可能不允许我为 CAfile 设置不同的路径?)
尝试用 CURLOPT_CAPATH 替换 CURLOPT_CAINFO。
还要查看 SSLCERT 选项。