Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WORDPRESS:cURL错误60:SSL证书_Php_Wordpress_Apache_Curl - Fatal编程技术网

Php WORDPRESS:cURL错误60:SSL证书

Php WORDPRESS:cURL错误60:SSL证书,php,wordpress,apache,curl,Php,Wordpress,Apache,Curl,我目前正在debian服务器下构建Wordpress安装。我安装了PHP7、curl和Apache2 当我尝试安装新扩展时,出现以下错误消息: cURL error 60: SSL certificate problem: self signed certificate in certificate chain 在阅读了一些处理类似问题的帖子后,我尝试用以下内容修改php.ini: curl.cainfo = /etc/php7.0/cacert.pem 但即使重新启动apache,我仍然面

我目前正在debian服务器下构建Wordpress安装。我安装了PHP7、curl和Apache2

当我尝试安装新扩展时,出现以下错误消息:

cURL error 60: SSL certificate problem: self signed certificate in certificate chain
在阅读了一些处理类似问题的帖子后,我尝试用以下内容修改php.ini:

curl.cainfo = /etc/php7.0/cacert.pem
但即使重新启动apache,我仍然面临这个问题

有什么想法吗

提前感谢

下载此文件

使用文件在中的位置
openssl.cafile=c:/cacert.pem


参考-

根据我最近的经验,我相信消息“证书链中的自签名证书”准确地告诉了您问题所在-即无论您尝试访问哪个SSL站点,链中都有一个证书,该证书不在由cacert.pem引用的证书组中

这是有意义的,因为错误报告它是自签名证书。。i、 e.它永远不会包含在下载的cacert.pem文件中

我的解决方案是获取一个Base64编码的文件,其中包含我试图访问的站点的证书链

    How to: Use a browser to access the site you are trying to access, click the 
    certificate part of the address (usually to the left of the address box with 
    a lock icon) and the click on whatever your interface supports to see the 
    list of certificates in the chain.  Manually export those certificates to a 
    text file.
然后使用文本编辑器将此文本文件附加到PHP用于CURL操作的证书列表(cacert.pem)中


你提到WordPress。。WordPress v4.9.6有一组证书,当它在升级或安装插件时,会特别引用这些证书。/WordPress实例\wp includes\certificates。我的权宜之计是将上面的文本文件(包含本地自签名证书链)附加到您将在该位置找到的ca-bundle.crt文件中


一个警告-升级WordPress时,它将覆盖ca-bundle.crt文件,因此您必须重新添加它们-除非有更好的解决方案。

将“sslverify”设置为false以修复WordPress wp\u remote\u get请求中的cURL错误60:SSL证书

wp_remote_get($url, array('sslverify' => FALSE));

WordPress使用自己的CA包,位于
WP/WP includes/certificates

WordPress最近附带的CA捆绑包已过时,如本期所述:


不建议将
sslverify
设置为
false
,相反,您可以下载该捆绑包的更新版本,并将其替换到wordpress文件夹中。

如果有人在本地计算机上安装wordpress时遇到相同的问题,通过添加筛选器可以帮我解决问题


检查文件路径
/etc/php7.0/cacert.pem
它所在的位置我检查了文件路径的可能副本,结果很好:/@Nathan30 wordpress版本?最新的wordpress 4。8@Nathan30只需将wordpress©/wp includes/certificates/ca-bundle.crt的4.7.5版本下载到您的服务器。也保留旧文件的备份。这样做了,但仍然存在相同的问题:/我必须把它放在哪里?在哪个wordpress文件上?您所说的Github链接中的CA包对我不起作用(重新启动本地apache和所有东西)。只有设置'sslverify'=>FALSE有…在哪里添加这个?非常好的解决方案!它解决了我的问题!明亮的