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