PHP curl报错SSL certificate problem: unable to get local issue

发布时间:2019-09-05作者:小灵龙点击:78

问题描述:

  对接过程中,通过post token及header头信息,并接收对方数据时,发生报错:SSL certificate problem: unable to get local issuer certificate

解决办法:

如果$url 中是http。则不报错。

请求HTTP

使用php curl获取http资源,不会报错。
如下:


	<?php

	// 创建curl资源

	$ch = curl_init();

	// 设置url

	curl_setopt($ch, CURLOPT_URL, "jinhuajuanke.cn");

	// 将Transfer作为字符串返回

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	// 执行并输出

	$output = curl_exec($ch);

	// 查看错误

	$error = curl_error($ch);

	echo $error;

	// 释放curl资源

	curl_close($ch);

	 

请求HTTPS

但是如果请求HTTPS的时候,默认会报错:

SSL certificate problem: unable to get local issuer certificate

这是因为HTTPS需要证书认证,如果本地没有装,就会报这个错误,我们可以把这个认证关掉。
 

	<?php

	// 创建curl资源

	$ch = curl_init();

	// 设置url

	curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react");

	// 将Transfer作为字符串返回

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	// 关闭SSL验证

	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

	// 执行并输出

	$output = curl_exec($ch);

	// 查看错误

	$error = curl_error($ch);

	echo $error;

	// 释放curl资源

	curl_close($ch); 

	 

 

 

 

标签:php curl