在Redhat Linux上,在PHP脚本中,我设置了cURL选项:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True); curl_setopt($ch, CURLOPT_CAINFO, '/home/andrew/share/cacert.pem');
然而,当我尝试发送数据时,却遇到了这个exception
(curl error: 77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
为什么要在/etc/pki/tls/certs/ca-bundle.crt中/etc/pki/tls/certs/ca-bundle.crt ? 我不知道这个文件夹是从哪里来的,因为我没有把它放在任何地方。
不应该在我指定的地方寻找/home/andrew/share/cacert.pem吗? 我没有写入权限/etc/所以只是复制文件没有一个选项。 我是否错过了一些我应该使用的curl选项?
(这是共享主机 – 是否有可能阻止我为CAfile设置不同的path?)
尝试用CURLOPT_CAPATHreplaceCURLOPT_CAINFO。
还可以看看SSLCERT选项。