织梦会员页面反复提示502,是因为在index.php页面上的//更新最近访客记录及站点统计记录 数组循环中,并未使用子匹配文本,大概在148行,修改
$last_vid .= ','.$last_vid;
这里在后面加载大量数据到缓存,导致本地测试影响不大,服务器上影响不大或者502打不开页面
foreach($last_vids as $lsid)
{
if($i>10)
{
break;
}
else if($lsid != $uid)
{
$i++;
$last_vid .= ','.$last_vid;
}
}
另外一个bug,是搜狗浏览器的(仅仅注意到这个)对页面的uid识别能力不强,导致打开的会员界面出现非法挥着会员空间被关闭的情况
附加一个自动识别编码的函数:
/**
* @ string 需要转换的文字
* @ encoding 目标编码
**/
functiondetect_encoding($string,$encoding= 'gbk'){
$is_utf8= preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]| \xE0[\xA0-\xBF][\x80-\xBF] | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} | \xED[\x80-\x9F][\x80-\xBF] | \xF0[\x90-\xBF][\x80-\xBF]{2} | [\xF1-\xF3][\x80-\xBF]{3} | \xF4[\x80-\x8F][\x80-\xBF]{2} )*$%xs', $string);
if($is_utf8&& $encoding== 'utf8'){
return$string;
}elseif($is_utf8){
returnmb_convert_encoding($string, $encoding, "UTF-8");
}else{
returnmb_convert_encoding($string, $encoding, 'gbk,gb2312,big5');
}
}