繁体   English   中英

PHP cURL 错误代码 60

[英]PHP cURL error code 60

Whilst trying to setup a php environment on windows (using wamp) to use the Amazon PHP SDK, when i try to run a sample test I get the following error:

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-Script创建的证书的位置

我也重新启动了我的 WAMP 服务。

PHP 索引卷曲参考

使用此证书根证书包:

https://curl.haxx.se/ca/cacert.pem

将此证书包复制到磁盘上。 并在php.ini上使用它

curl.cainfo = "path_to_cert\cacert.pem"

我通过在C:\\wamp\\bin\\apache\\apache2.4.9\\bin\\修改php.ini文件来修复此问题

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并替换了我从curl.hxxx.se下载/制作的那个以上链接,一切都开始工作。 我试图让paypal沙盒IPN验证。 很高兴在.pem交换之后说完所有可以使用php.ini中的curl.cainfo设置,但仍然不在5.3.24中。

php --ini

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

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

@HüseyinBABAL

我收到上述证书的错误,但我尝试这个证书及其工作。

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

解决该问题的最简单方法是在字段中添加以下命令。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

使用它不需要添加任何证书或任何东西。

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

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图标中“重新启动所有服务”或关闭/重新打开CMD。

尝试使用“var_dump(openssl_get_cert_locations());”并查看行:[“ini_cafile”] => string(40)“C:/path/to/your/cacert.pem”

完成。

问题已修复,请下载https://curl.haxx.se/ca/cacert.pem并将其置于“某处”,并在php.ini添加以下行:

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

PS:我尝试使用xampp在drupal上安装模块时出现此错误。

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

重启了我的XAMPP。 它对我来说很好。 谢谢

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

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

首先,您必须从此链接下载证书

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服务器就是这样

只要你知道我什么工作,在该文件https://curl.haxx.se/ca/cacert ....没有然而工作,一个在后,在(Zip文件夹的http:// flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue )对我没有任何问题。

正如其他人所说,将证书文件复制到硬盘驱动器上的某个位置,更新该行

;curl.cainfo 

在你的php.ini文件中阅读

curl.cainfo= "path_to_cert\cacert.pem"

重启Apache服务器。

解决方案是编辑php版本中的php.ini文件(对我而言是php7.0.10)而不是apache的php.ini。 你会发现这样的评论文件; curl.cainfo只需像这样改变这一行curl.cainfo =“C:\\ permCertificate \\ cacert.pem”

不要忘记创建“permCertificate”目录并复制其中的“cacert.pem”文件。

重要提示 :4小时后,使用laravel 5.7和php 7. +并运行/使用php artison在localhost上尝试连接到mailgun。

重要要解决该问题不与知识产权工作http://127.0.0.1:8000由主机文件使用localhost或设置域名

好 ,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM