織夢會員頁面反覆提示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');
}
}