解决Discuz!与UCenter后台管理员不能登录的bug

参生的问题:

Discuz! 或 Ucenter 后台管理员不能登录或登录后过一会就自动退出。

问题参生原因:

因为局域网络为多条宽带接入或使用动态IP等造成外网IP动态变化致问题发生。

解决方法:

一、先说Discuz!的吧:
打开/include/common.inc.php
找到unset($onlineipmatches);这一行。换行后在其后添加如下代码:

 
  1. //COOKIEip
  2. if(isset($_COOKIE['onlineIPs'])&&!empty($_COOKIE['onlineIPs'])){
  3. $onlineip=$_COOKIE['onlineIPs'];
  4. }else{
  5. setcookie("onlineIPs",$onlineip,time()+3600,"/");
  6. }

保存并上传该文件到服务器,呵,问题解决。

二、Ucenter解决方法:
找到/model/base.php
在文件内找到 init_var 函数。
再在函数里面找到“$this->onlineip = $match[0] ? $match[0] : 'unknown';”这一行。在其后添加如下代码:

 
  1. //COOKIEip
  2. if(isset($_COOKIE['onlineipd'])&&!empty($_COOKIE['onlineipd'])){
  3. $this->onlineip=$_COOKIE['onlineipd'];
  4. }else{
  5. setcookie("onlineipd",$this->onlineip,time()+3600,"/");
  6. }

上传问题解决。

你可能感兴趣的:(PHP)