帝國cms在刷新欄目頁的時(shí)候如果出現(xiàn)”Parse error: syntax error, unexpected '[' in 路徑\e\class\connect.php(2210) : eval()'d code on line 1“的錯(cuò)誤解決辦法
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
今天沒事兒在家調(diào)試一個(gè)帝國CMS在刷新欄目頁時(shí)出現(xiàn)”Parse error: syntax error, unexpected '[' in L:\laoliang\e\class\connect.php(2210) : eval()'d code on line 1“的錯(cuò)誤;
解決方法以及過程:
經(jīng)過一系列排查,是因?yàn)榱斜砟0骞催x了”使用程序代碼“出現(xiàn)了問題,而要查出是那個(gè)欄目的列表模板出現(xiàn)問題,可以一個(gè)一個(gè)檢查列表模板,或者在數(shù)據(jù)更新中心一個(gè)一個(gè)刷新欄目頁,其實(shí)出現(xiàn)這類錯(cuò)誤,也不算是致命的錯(cuò)誤,因?yàn)槌绦虼a還是會(huì)執(zhí)行,列表頁依然可以進(jìn)行刷新。
找到connect.php,定位到2210行,”eval($listtemp);“eval() 函數(shù)把字符串按照 PHP 代碼來計(jì)算,如列表模板list.var勾選了程序代碼,但是又沒有按照$listtemp=‘’的格式書寫,就會(huì)產(chǎn)生上面的報(bào)警錯(cuò)誤,當(dāng)你把eval()去掉,再刷新,這類錯(cuò)誤就可以屏蔽,或者把php.ini中的display_errors設(shè)置為Off,也可以屏蔽,但既然是列表模板程序所造成的錯(cuò)誤,還是從根本上解決,不需要使用程序代碼的列表模板,就不要勾選”使用程序代碼“的選項(xiàng)了。
下面把可能的原因總結(jié)如下:
1、服務(wù)器沒有開啟short_open_tag,即短標(biāo)簽。
如是自己的服務(wù)器,找到php.ini開啟短標(biāo)簽即可。如虛擬主機(jī),需咨詢服務(wù)商是否可以開啟短標(biāo)簽即可;
2、變量模板有錯(cuò)誤
有的列表或內(nèi)容模板帶有含變量的模板,如list.var,應(yīng)仔細(xì)檢查里面的代碼是否有語法錯(cuò)誤。
3、欄目與內(nèi)容數(shù)據(jù)不匹配。
如果內(nèi)容調(diào)用的欄目并不存在,或者內(nèi)容表中的內(nèi)容對應(yīng)的索引數(shù)據(jù)在index表中不存在,那么都有可能報(bào)錯(cuò)。
修正方法就是清理不存在匹配數(shù)據(jù)的內(nèi)容或欄目。
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!