ecms EmpireCMS v7.5 Free (201804091030) 首页变空白了
下面是一些修改信息
后台更新信息网址是,后面是自己网站的一些参数
/e/admin/ecmschtml.php?enews=ReIndex&ehash_1idzD=y0rwlukgVYnQ06c8Ecei&rhash_V44HM=wyC9DJhOFjyS
找到这个文件/e/admin/ecmschtml.php里面106行
$enews==”ReIndex”)//刷新首页
调用的函数是ReIndex();
往前63行require(“../class/chtmlfun.php”);
上面调用的函数在这个文件里,打开这个文件chtmlfun.php,811行有这个函数
//刷新首页
function ReIndex(){
$indextemp=GetIndextemp();//取得模板
NewsBq($classid,$indextemp,1,0);
insert_dolog(“”);//操作日志
printerror(“ReIndexSuccess”,”history.go(-1)”);
}
其中NewsBq这个是替换标签,在require(“../class/functions.php”);这个文件里面2347行
下面的2424行后面就是生成首页的代码
elseif($enews==1)//生成首页文件
的后面
其实很简单的,2447把之前处理好的标签全转成php然后写入缓存,缓存在/e/data/tmp/
然后2449行用ob打开这个缓存,显示,获取显示内容
ob_start();
include($file);
$string=ob_get_contents();
ob_end_clean();
现在出现的问题是这个ob获取的数据是0,我检查了一下是首页缓存文件/e/data/tmp/index.php大小为0
那就是写入的问题,我找到了写入的函数WriteFiletext在\e\class\connect.php大概1958行
然后我单独把这个函数抽出来,独立弄了一个测试文件,测试写入,发现没问题
那么最终只可能是写入的内容有问题了
我看了一下写入的内容,在在require(“../class/functions.php”);这个文件里面2447行
WriteFiletext($file,AddCheckViewTempCode().$indextext);
这个加了一个验证AddCheckViewTempCode(),然后我去掉了它
改成WriteFiletext($file,$indextext);
竟然正常了
看来是这个验证函数的问题,可能和服务器上的一些安全软件冲突了
把它去掉就正常了,虽然说可能会有一些安全隐患,但总好过不能显示吧