日期: 2019-05-24 08:05:39 人气: -
在使用 Discuz 建论坛网站的时候,经常遇到一个问题,就是站点在 HTTP 时 UCenter 能通信正常,但是启用 HTTPS 后 UCenter 通信就失败。我们要如何将 HTTP 网站完美的转换成 HTTPS 呢?
Discuz 站点开启 HTTPS 后 UCenter 通信失败的解决方法:
出现 HTTPS 站点 UCenter 通信失败的主要原因是由于 301 重定向 https 后导致通信失败。
下面介绍一下解决方法。
一,打开网站目录找到 uc_server/model/misc.php 文件;
二,在 misc.php 文件中搜索以下的代码:
$port = !empty($matches['port']) ? $matches['port'] : 80;
三,在代码下面加上以下的代码:
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);
}
四,修改保存好后上传替换掉原来的 misc.php 文件,就能解决 Discuz 站点开启 HTTPS 后 UCenter 通信失败的问题了。