PHP cURL错误代码60
虽然试图设置一个PHP环境(使用wamp)来使用亚马逊PHP SDK,当我尝试运行一个示例testing,我得到以下错误:
Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem: unable to get local issuer certificate (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\AWSSDKforPHP\lib\requestcore\requestcore.class.php on line 848
我已经添加了以下行到我的php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
这是我使用这个VBS脚本VBS脚本创build的证书的位置
我也重新启动了我的WAMP服务。
使用这个证书根证书包:
https://curl.haxx.se/ca/cacert.pem
将此证书包复制到磁盘上。 并在php.ini
curl.cainfo = "path_to_cert\cacert.pem"
我通过修改php.ini
文件在C:\wamp\bin\apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
首先我试图通过修改C:\wamp\bin\php\php5.5.12\
php.ini
文件,但没有奏效。
希望这有助于正在寻找正确的php.ini
修改的人
@Overflowh我也试过上面的答案也没有运气。 我改变了PHP版本从5.3.24到5.5.8,因为这个设置只能在PHP 5.3.7及以上版本。 然后我发现这个http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue我从那里下载了cacert.pem,并replace了我从curl.hxxx.se下载/制作的那个上面链接,这一切开始工作。; 我试图让贝宝沙箱IPN来validation。 在.pem换完之后很高兴地说,使用php.ini中的curl.cainfo设置仍然不是5.3.24。
php --ini
这将告诉你究竟哪个php.ini文件正在被加载,所以你知道要修改哪一个。 我浪费了很多时间更改错误的php.ini文件,因为我安装了WAMP和XAMPP。
此外,不要忘记更改php.ini后重新启动WAMP服务器(或任何你使用的)。
解决这个问题,下载https://curl.haxx.se/ca/cacert.pem并把它放在“某处”,然后在;php.ini
join这一行:
curl.cainfo = "C:/somewhere/cacert.pem"
PS:我得到这个错误,试图在drupal上用xampp安装模块。
将下面的内容添加到php.ini中[在path中使用'/'而不是'\'] curl.cainfo =“path / cacert.pem”
重新启动我的XAMPP。 它为我工作得很好。 谢谢
如果从上面的链接cacert.pem不工作尝试这一个为我工作
首先,我们需要下载这个证书根证书包:
https://curl.haxx.se/ca/cacert.pem
将此文件移动到Wamp / Xampp文件夹中的某个位置,例如PHP文件夹。
然后编辑你的“php.ini”:
curl.cainfo =“C:/path/to/your/cacert.pem”
和
openssl.cafile = “C:/path/to/your/cacert.pem”
重要:
确保你的Window Explorer直接打开“php.ini”文件。 (在我的情况下:“C:\ DevPrograms \ wamp64 \ bin \ php \ php5.6.25 \ php.ini”)。
不要在系统托盘的Wamp / Xampp图标菜单中使用“php.ini”快捷方式。 这个快捷方式在我遇到的一些情况下不起作用。
保存“php.ini”后,您不需要在“Wamp”图标中“重新启动所有服务”或closures/重新打开CMD。
尝试使用“var_dump(openssl_get_cert_locations());”并看看line:[“ini_cafile”] => string(40)“C:/path/to/your/cacert.pem”
完成。
解决这个问题的最简单的方法是在这个字段中添加下面的命令。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
使用这将不需要添加任何证书或任何东西。
只是,所以你知道什么对我有用 ,在https://curl.haxx.se/ca/cacert ….文件不起作用,但在zip文件夹中的post在( http:// flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue )对我没有任何问题。
正如其他人所说,将证书文件复制到硬盘上的某个位置,更新该行
;curl.cainfo
在你的php.ini文件中读取
curl.cainfo= "path_to_cert\cacert.pem"
重新启动你的Apache服务器。
首先你必须从这个链接下载证书
https://curl.haxx.se/ca/cacert.pem
并把它放在你想要的位置下载文件的名字是:cacert.pem所以在我的情况下,我会把它放在C:\ wamp64 \ bin \ php \ cacert.pem
然后你必须指定php.ini文件的位置
例如,我使用的是PHP 7,php.ini文件位于:C:\ wamp64 \ bin \ php \ php7.0.10 \ php.ini
因此,访问该文件并取消提交这一行; openssl.cafile
也更新它看起来像这样openssl.cafile =“C:\ wamp64 \ bin \ php \ cacert.pem”
最后重启你的apache服务器,就这些了
希望这可以帮助你,
穆斯塔法