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服务。

PHP索引卷曲引用

使用这个证书根证书包:

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。

@HüseyinBABAL

我得到上述证书的错误,但我尝试这个证书和它的工作。

https://gist.github.com/VersatilityWerks/5719158/download

 php --ini 

这将告诉你究竟哪个php.ini文件正在被加载,所以你知道要修改哪一个。 我浪费了很多时间更改错误的php.ini文件,因为我安装了WAMP和XAMPP。

此外,不要忘记更改php.ini后重新启动WAMP服务器(或任何你使用的)。

解决这个问题,下载https://curl.haxx.se/ca/cacert.pem并把它放在“某处”,然后在;php.inijoin这一行:

 curl.cainfo = "C:/somewhere/cacert.pem" 

PS:我得到这个错误,试图在drupal上用xampp安装模块。

将下面的内容添加到php.ini中[在path中使用'/'而不是'\'] curl.cainfo =“path / cacert.pem”

重新启动我的XAMPP。 它为我工作得很好。 谢谢

如果从上面的链接cacert.pem不工作尝试这一个为我工作

https://gist.github.com/VersatilityWerks/5719158/download

首先,我们需要下载这个证书根证书包:

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服务器,就这些了

希望这可以帮助你,

穆斯塔法