问题: 
1.部分站点论坛可以发邮件,而UCHOME设置与论坛完全相同却无法发送邮件。 
2.设置个性问题和答案后,明明回答是正确的,但是程序显示不正确。 
何时发生: 
以上问题只有当“邮件的发送认证的密码”和“个性问题的答案”为以0开始的全部为数字时会出现,如:“邮件的发送认证的密码”为"012345",“个性问题的答案”为区号 "0852"。 
原因: 
UCHOME的缓存程序将“邮件的发送认证的密码”和“个性问题的答案”的字符串当作数字处理。因此“邮件的发送认证的密码”会变成12345,“个性问题的答案”为区号 852。 
解决方法: 
修改程序./source/function_cache.php中的函数arrayeval。 
增加了红色部分 
//数组转换成字串 
function arrayeval($array, $level = 0) { 
 $space = ''; 
 for($i = 0; $i <= $level; $i++) { 
  $space .= "\t"; 
 } 
 $evaluate = "Array\n$space(\n"; 
 $comma = $space; 
 foreach($array as $key => $val) { 
  $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key; 
  $val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12) || is_string($val) ? '\''.addcslashes($val, '\'\\').'\'' : $val; 
  if(is_array($val)) { 
   $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); 
  } else { 
   $evaluate .= "$comma$key => $val"; 
  } 
  $comma = ",\n$space"; 
 } 
 $evaluate .= "\n$space)"; 
 return $evaluate; 
} |