两行代码修复Discuz头像对https的兼容问题

很多用户在部署https之后,为了保证全站https,开启了301跳转之后,发现无论是手机版还是客户端都出现了头像无法修改的问题,这里提供了一种修改方案。

X3.2解决方案


在discuz目录里找到uc_client/client.php
找到以下代码
$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';
在下方添加以下代码(注意是添加不是修改!!是添加!添加!)
$matches['port'] = !empty($matches['port'])&&$scheme=='https' ? $matches['port'] : 443;
找到以下代码
if(!$fp = @fsocketopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {
修改为
if($port=='443'){
$temp = 'ssl://';
}else{
$temp = 'http://';
}
if(!$fp = @fsocketopen($temp.($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {

X3.4解决方案


打开source/function/function_filesock.php
修改方法同上