今天,朋友公司客户的网站出了问题,后台一片空白,无法登陆,网站是用dede做的,抽空帮他处理了一下,顺道整理一下,dede后台登陆空白,网站修改后dede后台打开空白的解决办法。百度了很多,现在把方法总结一下,公布给大家。
PS: 空白大多数情况下是由于 修改文件的时候直接用记事本编辑导致的,所以大家在编辑PHP文件的时候,就不要直接用记事本编辑,应该选择editor或者其他可以存储无签名BOM的UTF8格式的编辑器。终极办法:用备份覆盖一下!
以下方式来自网络:
dede后台登陆空白解决方式一:
原因:include/common.inc.php,data/common.inc.php被修改,保存的时候有BOM头,一般是在utf8的编码下才存在这个问题。
方法:ftp下载下来,然后用notepad++或者dw打开,选择UTF8无BOM头保存试试
dede后台登陆空白解决方式二
原因:这个一般是因为环境是PHP5.4的原因,dede中的session_register被移除了
方法:
找include/userlogin.class.php里面的keepuser()函数, 把@session_register 全部改写, 虽然不知道这个@是什么意思 把@session_register($this->keepUserIDTag); 注释掉,然后改为 if (!isset($_SESSION[$this->keepUserIDTag])) 全部有6个。 如下:
[codesyntax lang=”php” lines_start=”1″ title=”解决方式二” bookmarkname=”dede后台空白或者登陆以后空白的解决办法”]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
if (!isset($_SESSION[$this–>keepUserIDTag]))
//@session_register($this->keepUserIDTag);
$_SESSION[$this–>keepUserIDTag] = $this–>userID;
if (!isset($_SESSION[$this–>keepUserTypeTag]))
//@session_register($this->keepUserTypeTag);
$_SESSION[$this–>keepUserTypeTag] = $this–>userType;
if (!isset($_SESSION[$this–>keepUserChannelTag]))
//@session_register($this->keepUserChannelTag);
$_SESSION[$this–>keepUserChannelTag] = $this–>userChannel;
if (!isset($_SESSION[$this–>keepUserNameTag]))
//@session_register($this->keepUserNameTag);
$_SESSION[$this–>keepUserNameTag] = $this–>userName;
if (!isset($_SESSION[$this–>keepUserPurviewTag]))
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this–>keepUserPurviewTag] = $this–>userPurview;
if (!isset($_SESSION[$this–>keepAdminStyleTag]))
//@session_register($this->keepAdminStyleTag);
$_SESSION[$this–>keepAdminStyleTag] = $adminstyle;
|
[/codesyntax]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
))
//@session_register($this->keepUserIDTag);
$_SESSION[$this–>keepUserIDTag] = $this–>userID;
if (!isset($_SESSION[$this–>keepUserTypeTag]))
//@session_register($this->keepUserTypeTag);
$_SESSION[$this–>keepUserTypeTag] = $this–>userType;
if (!isset($_SESSION[$this–>keepUserChannelTag]))
//@session_register($this->keepUserChannelTag);
$_SESSION[$this–>keepUserChannelTag] = $this–>userChannel;
if (!isset($_SESSION[$this–>keepUserNameTag]))
//@session_register($this->keepUserNameTag);
$_SESSION[$this–>keepUserNameTag] = $this–>userName;
if (!isset($_SESSION[$this–>keepUserPurviewTag]))
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this–>keepUserPurviewTag] = $this–>userPurview;
if (!isset($_SESSION[$this–>keepAdminStyleTag]))
//@session_register($this->keepAdminStyleTag);
$_SESSION[$this–>keepAdminStyleTag] = $adminstyle;“]
|
然后就可以登入后台了。
dede后台登陆空白 解决方式三:
找到:include/common.inc.php文件,打开,查找程序代码: //error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE); 替换为:
error_reporting(E_ALL);
//error_reporting(E_ALL || ~E_NOTICE);
这一步很重要,因为它会告诉你为什么变成空白的提示信息,保存之后再次进入管理后台,这个时候会发现后台会有一句话提示了,原文提示是:
Parse error: parse error in
D:\wwwroot\pcpps\Web\data\config.cache.inc.php on line 44 找到之后先把上面的改回来,然后我们从错误提示上来分析。
从中我们可以现在在网站根目录的data\config.cache.inc.php on line 44有问题,然后我就把以前正常时备份过的data\config.cache.inc.php 重新上传全覆盖后问题就解决了.到此排除了dede后台登陆一片空白的问题。 (以上是原文,我的提示情况则不一样,DEDE告诉我是plugins下的run.php文件出错,于是我通过FTP一看,远程服务器上的run.php文件已经没了,于是把本地的run.php文件传上去,问题解决。)
dede后台登陆空白的解决办法之更多方法,请百度一下!我的QQ:93547942