昨天晚上刷到群里的求助,新站长阿凯熬了半宿改首页轮播图,结果一点发布,网站直接白屏,连后台都登不进去,急得在群里发语音喊救命。我之前做装修站、二手家具站的时候,织梦代码报错遇到过不下百次,摸出了一套普通人也能直接上手的流程,从入门级的小白操作,到稍微有点深度的代码核对,都覆盖到了。今天把这套私货整理出来,看完你遇到织梦报错,至少能不用慌慌张张找朋友求人。
1. 先做2分钟入门级“体检”,排除80%的小问题
很多时候织梦报错根本不是你改的大代码出问题,可能就是手滑碰了个小符号。先别急着删文件找备份,花2分钟做这两步排查,大概率能救回来。
1.1 打开报错显示开关,看看到底哪里错了
白屏是最烦人的,连个提示都没有。但织梦本来是有报错功能的,只是默认关了怕泄露信息。找到你的网站根目录,里面有个叫`data/config.cache.inc.php`的文件,用记事本或者Notepad++打开,找到这两行代码:
```
$cfg_debug = '0';
$cfg_error_reporting = E_ALL & ~E_NOTICE;
```
把第一行的0改成1,第二行不用动,保存之后再刷新网站。这时候屏幕上会跳出一串红色或黑色的字,里面会标清楚文件路径和具体行号,比如“错误在 /templets/default/index.htm 第25行”,这就精准定位了,不用瞎找。
1.2 回忆最近改了什么,先恢复试试
如果报错提示还没来得及开就已经白屏到后台都进不去,或者报错提示有点复杂看不懂,先回忆最近10分钟改了什么文件。比如阿凯昨天只改了`templets/default/index.htm`的轮播图部分,那就用FTP工具,把你备份的旧文件传上去覆盖掉,覆盖前记得把现在乱的文件重命名留个底,防止找错备份。一般备份过的话,覆盖完网站就直接回来了。
避坑提醒:备份真的太重要了!不管你是第一次改代码,还是改了几百次,动手前先把要改的文件下载到电脑桌面存一份,最好加个日期命名,比如“202X0X0X_index_old.htm”。
2. 用“逐行检查法”,搞定模板或单文件的小错误
刚才的体检没解决,或者你最近改了好几个地方,不知道错在哪,那可以试试这个笨办法但最管用的。逐行检查法只适合小白用的简单文件,比如`index.htm`、`article_article.htm`这类模板文件,复杂的PHP文件暂时先别用。
2.1 重点查最近添加的标签和符号
织梦模板里最常用的标签是`{dede:}`开头的,比如`{dede:global.cfg_webname/}`,这种标签开头和结尾必须匹配,而且结尾的斜杠不能丢。还有引号、逗号、分号这些,中文符号和英文符号搞混也是重灾区。举个例子,阿凯昨天的轮播图,把原来的`
`改成了`
`,引号用成中文的了,白屏就是这么来的。
2.2 把文件分成块,“二分法”排查
如果最近改的地方很多,逐行看太费眼睛,那就用“二分法”。把文件复制一份,删掉后半部分,保存后上传刷新网站,如果没问题,说明错在后半部分;如果还是报错,说明错在前半部分。然后把错的那部分再分成两半,继续删继续试,直到找到出错的那几行。比如你可以先把轮播图下面的文章列表全删掉,试试网站能不能打开,能的话就盯着轮播图部分查。
3. 别忽略这2个冷门但常见的报错源头
刚才的方法还是不行?可能是你碰到了冷门的坑,这两个坑我前前后后踩过五六次,身边的新手朋友也经常中。
3.1 检查文件编码是不是UTF-8无BOM
很多新手用Windows自带的记事本改织梦模板,保存的时候默认是“ANSI”编码,或者不小心存成了“UTF-8有BOM”,这两种都会导致织梦报错。比如模板文件改完之后,网站顶部会出现一行空白,或者显示“Warning: Cannot modify header information”。解决办法很简单,下载个免费的Notepad++,打开你的文件,看右下角的编码显示,如果不是UTF-8无BOM,就点菜单栏的“编码”→“转为UTF-8无BOM编码格式”,然后保存上传。
3.2 检查文件夹权限是不是设错了
织梦有些文件夹必须有读写权限,比如`data`、`uploads`、`templets`这三个。如果你用的是Linux虚拟主机,权限一般设为755或777,Windows虚拟主机设为“可读可写可执行”。比如你上传了新图片,但前台显示不出来,或者修改了栏目之后保存失败,大概率就是文件夹权限的问题。用FTP工具找到对应的文件夹,右键选“属性”(Linux主机是CHMOD),把权限改过来就行。
4. 实在搞不定?教你2个快速找救兵的办法
如果上面的所有方法都试过了,还是解决不了,别自己硬扛,赶紧找救兵,但找救兵之前要把材料准备好,不然别人也帮不上你。
4.1 截图要截全,说清楚前因后果
别只截报错的那一行字,要把整个屏幕截下来,包括网址栏、浏览器地址、报错的完整内容。还要说清楚:最近改了什么文件、用的什么编辑器、织梦的版本是多少、用的是虚拟主机还是云服务器。比如你可以说:“我用织梦5.7SP2,用记事本改了首页轮播图的中文符号,后来又改成英文的了,还是白屏,刚才开了报错显示,提示的是这个,截了图帮我看看?”
4.2 去织梦官方论坛或靠谱的站长群提问
织梦官方论坛虽然现在人气不如以前,但里面还是有很多老站长的干货帖子,先搜一下你的报错关键词,比如搜“织梦首页白屏 Cannot modify header information”,大概率能找到现成的解决办法。如果搜不到,再去论坛或者你经常逛的靠谱站长群提问,提问的时候记得发刚才准备好的材料,别发一句“我网站报错了”就等别人来问。
其实织梦报错没你想象的那么可怕,大部分都是小问题,只要你按照这套流程来,一步一步排查,很快就能解决。今天看完这篇文章,先去你的网站根目录,把刚才说的备份旧文件的习惯养成,然后下次遇到报错,先花2分钟做入门级体检,别着急删东西。现在就去看看你的网站有没有最近没备份的文件,赶紧下载一份存起来。
相关推荐