我一直在使用cURL验证登录几个月,它一直运行正常。
$searchURL = "https://url.com/isTokenValid?";
$strCookie = 'asdf=' . $_COOKIE['asdf'] . '; path=/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie );
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, FALSE);
if($answer = curl_exec($ch))
{
if (strpos($answer,'true') !== false)
{
$login = true;
}
else
{
$login = false;
}
今天早上 - 它停止了工作,我收到错误:
卷曲错误:SSL证书问题:无法获得本地颁发者证书
我使用https://curl.haxx.se/ca/cacert.pem中的cacert.pem
文件 - 如果需要以某种方式更新或刷新此数据,我使用此日期的文件,似乎仍然是最新的:
Mozilla的证书资料:2015年10月28日星期三04:12:04
这不是我在网页开发中的强项,所以我不确定如何解决这里发生的事情。我的第一个想法是它必须是服务器端的东西,因为我周末没有在本地进行任何更改,但是如果有人能够指出我的方向,那么我就不想开始戳。
谢谢!
答案 0 :(得分:1)
下载https://curl.haxx.se/ca/cacert.pem并重命名为ssl.txt,然后您可以尝试
$ch = curl_init();
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/ssl.txt");
答案 1 :(得分:0)
-k, --insecure
(SSL) This option explicitly allows curl to perform "insecure"
SSL connections and transfers. All SSL connections are attempted
to be made secure by using the CA certificate bundle installed
by default. This makes all connections considered "insecure"
fail unless -k, --insecure is used.
See this online resource for further details:
http://curl.haxx.se/docs/sslcerts.html