系统:win7
PHP版本:5.5,5.6,7
php 5.5、7
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); // CA根证书(用来验证的网站证书是否是CA颁布)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
SSL certificate problem: unable to get local issuer certificate
php 5.6
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //正常获取
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); // CA根证书(用来验证的网站证书是否是CA颁布)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
SSL certificate problem: unable to get local issuer certificate
PHP CURL GET 通过https获取网页信息 出现的问题 麻烦各位看看
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
1.http://curl.haxx.se/ca/cacert... 下载CA证书
2.修改 php.ini 的 curl.cainfo
curl.cainfo = /path/to/downloaded/cacert.pem
3.重启 php-fpm
或者
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
如果只是获取其他网站的一些内容,可以不用设置证书,改为false就可以获取了。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);采用 guzzle/http
问题解决,但是疑问的是,原生的curl,跳过数字证书的时候,会出现问题