分类 "Discuz!" 下的文章

服务器环境为:windows2008+IIS7.5+PHP5

一、Discuz!和Ucenter后台不能登陆(登录自动退出)

康盛的Discuz和Ucenter经常有人反应后台没法登录或登陆后自动退出的问题,实在很让人蛋疼,有时候出现验证码CCCC问题然后提示验证码出错。

Discuz比较好解决,把config.inc.php里面的chekip关掉就可以登陆了,

$admincp['checkip'] = 0; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
$admincp['tpledit'] = 0; // 是否允许在线编辑论坛模板 1=是 0=否[安全]
$admincp['runquery'] = 1; // 是否允许后台运行 SQL 语句 1=是 0=否[安全]
$admincp['dbimport'] = 1; // 是否允许后台恢复论坛数据 1=是 0=否[安全]
$admincp['checkip'] = 0; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
$admincp['tpledit'] = 0; // 是否允许在线编辑论坛模板 1=是 0=否[安全] $admincp['runquery'] = 1; // 是否允许后台运行 SQL 语句 1=是 0=否[安全]
$admincp['dbimport'] = 1; // 是否允许后台恢复论坛数据 1=是 0=否[安全]

二、Ucenter后台不能登陆(登录自动退出)

但是UCenter却不能用这种方法解决, 谷歌了很久,官方论坛也没有解决方法, 只好自己动手了。 通过测试发现因为我本地是双宽带的原因,每次访问刷新,IP就会变一次,动态IP引起了这个问题。 只好用COOKIE解决了这个问题。 现在可以正常登陆了。
通过这个代码检查数据,然后把COOKIE的在线IP借过来用了。修改以后问题解决了。 试试吧。
根据目录找到文件: UCenter的 model/base.php
查找:

$this->onlineip = $match[0] ? $match[0] : 'unknown';

在这代码之后插入一段代码:

//COOKIE <=> onlineIP : 2014年12月10日 piaoyun.cc
$isonlineIP = isset($_COOKIE['onlineipd']) && !empty($_COOKIE['onlineipd']);
if($isonlineIP){
$this->onlineip = $_COOKIE['onlineipd'];
}else{
setcookie("onlineipd", $this->onlineip, time()+3600, "/");
}
unset($isonlineIP);

保存后上传覆盖问题就解决了。

三、UCenter后台应用通知列表空白的解决办法

今天遇到了一个奇葩的问题UCenter后台通知列表空白并且500,通过xdebug调试发现是

uc_server/control/admin/note.php 第68行代码有问题!IDE都报错了

原代码:

$this->_format_notlist(&$notelist);

修改为:

$this->_format_notlist($notelist);

去掉&就好了。

php没有取地址这个说法, 只有引用的时候才会使用 &