帝国cms在刷新栏目页的时候如果出现”Parse error: syntax error, unexpected '[' in 路径\e\class\connect.php(2210) : eval()'d code on line 1“的错误解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天没事儿在家调试一个帝国CMS在刷新栏目页时出现”Parse error: syntax error, unexpected '[' in L:\laoliang\e\class\connect.php(2210) : eval()'d code on line 1“的错误;
解决方法以及过程:
经过一系列排查,是因为列表模板勾选了”使用程序代码“出现了问题,而要查出是那个栏目的列表模板出现问题,可以一个一个检查列表模板,或者在数据更新中心一个一个刷新栏目页,其实出现这类错误,也不算是致命的错误,因为程序代码还是会执行,列表页依然可以进行刷新。
找到connect.php,定位到2210行,”eval($listtemp);“eval() 函数把字符串按照 PHP 代码来计算,如列表模板list.var勾选了程序代码,但是又没有按照$listtemp=‘’的格式书写,就会产生上面的报警错误,当你把eval()去掉,再刷新,这类错误就可以屏蔽,或者把php.ini中的display_errors设置为Off,也可以屏蔽,但既然是列表模板程序所造成的错误,还是从根本上解决,不需要使用程序代码的列表模板,就不要勾选”使用程序代码“的选项了。
下面把可能的原因总结如下:
1、服务器没有开启short_open_tag,即短标签。
如是自己的服务器,找到php.ini开启短标签即可。如虚拟主机,需咨询服务商是否可以开启短标签即可;
2、变量模板有错误
有的列表或内容模板带有含变量的模板,如list.var,应仔细检查里面的代码是否有语法错误。
3、栏目与内容数据不匹配。
如果内容调用的栏目并不存在,或者内容表中的内容对应的索引数据在index表中不存在,那么都有可能报错。
修正方法就是清理不存在匹配数据的内容或栏目。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!