近日,有客户给自己的Discuz X3.2版本论坛开启HTTPS后,发现UCenter通信一直失败,在网上找了好几种办法都没有得到有效解决。通过测试发现,UCenter通信失败出现在做完301重定向后,所以根据该问题找出解决方法即可。
下面是小编测试有效的解决方法,分享给大家:
打开Discuz论坛目录下的uc_server/model/misc.php 文件,找到下图所示的地方(大约69行左右),插入图中蓝色标识的代码。
插入的代码:
if(substr($url,0,5)==’https’){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if($post){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if($cookie){
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
return curl_exec($ch);
}
插入代码保存后,再看后台 UCenter通信失败问题已经得到解决。
以上Discuz开启HTTPS后UCenter通信失败解决方法,亲测有效,希望能帮助到大家。