1. 程式人生 > >ecshop常見錯誤的處理方法

ecshop常見錯誤的處理方法

fin 路徑名 一個 acc 版權 nbsp Language notice 自己的

用ecshop,其中出現了不少錯誤,經常是滿世界找原因,今天分享幾個問題的解決辦法,方便大家及時處理。如果有相關的ecshop問題歡迎跟帖咨詢

問題1:出現錯誤代碼:ECshop lib_base.php on line 1241 、
Notice: Undefined variable: data in D:\wwwroot\KISS\wwwroot\includes\lib_base.php on line 1241

Warning: require() [function.require]: Unable to access D:/wwwroot/KISS/wwwroot/languages//common.php in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124

Warning: require(D:/wwwroot/KISS/wwwroot/languages//common.php) [function.require]: failed to open stream: No error in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124

Fatal error: require() [function.require]: Failed opening required ‘D:/wwwroot/KISS/wwwroot/languages//common.php‘ (include_path=‘.;D:/wwwroot/KISS/wwwroot/‘) in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124


解決辦法:到temp文件夾下把static_caches文件下的文件都刪除就可以了

----------------------------------------------------------------------------------------------------------------------

問題2:ECSHOP驗證碼前臺或評論不顯示,後臺登錄能顯示
針對ECSHOP驗證碼前臺不顯示,後臺登陸顯示,就排除了GD庫沒有安裝的問題。
查看GD庫是否安裝,請登錄ECSHOP後臺的起始頁的系統信息,GD 版本:,例如我的就是 ---- GD 版本: GD2 ( JPEG GIF PNG)

註釋掉includes\init.php文件下的這段代碼:


3、以上方法若還不能解決問題,最後用原始的languages\zh_cn\common.php覆蓋,並把根目錄下面的captcha.php裏的空白行刪除。
可能原因:languages\zh_cn\common.php 這個文件經過修改後,可能某個字符串太長或者其他原因導致驗證碼不顯示。
例如:
將:$_LANG[‘copyright‘] = "? 2005-%s %s 版權所有,並保留所有權利。";
修改為:$_LANG[‘copyright‘] = "seo永夜";
就可能導致驗證碼不顯示。


註釋掉的意思是屏蔽

要屏蔽的內容 前後加
-------------------------------------------------------------------------------------------------------------------------
問題3:一定要改後臺路徑
下面以 Ecshop 2.7.2 為例進行修改……
首先,修改後臺目錄名admin為你想要的,這裏我設置為seoyy;
其次,找到 data/config.php,修改這裏的路徑名為seoyy,define(‘ADMIN_PATH’,‘seoyy’) 。OK,在2.7.2版本裏就已經修改完成,如果用低版本的需要改的文件太多,這裏就不介紹了,建議升級到最新並打好補丁。

-------------------------------------------------------------------------------------------------------------------------
問題4:Ecshop訪問500錯誤提示是怎麽回事,如何解決?

出現500錯誤的原因是很多的,一般來說,如果程序出錯,那麽在瀏覽器內會返回給用戶一個友好的錯誤提示,統一稱之為服務器500錯誤。

解決的方法就是您必須在http中能夠正確的獲得錯誤信息,方法為:請打開瀏覽器,選擇工具,internet選項,高級,在高級中的瀏覽項目裏面有一個"顯示http友好錯誤提示"的復選框,請取消該復選框,並關掉窗口重新打開IE瀏覽器,這樣您可以獲得正確的錯誤提示。在獲得正確的錯誤提示之後,您就可以根據該錯誤提示檢查您具體的出錯原因了,這類錯誤一般是數據庫方面或者空間商的問題,可以咨詢空間供應商。
---------------------------------------------------------------------------------------------------------------------------
問題5:Ecshop亂碼二:

在DIV修改ECSHOP時,有時會需要在數據庫中加入一些字段,可能在存儲過程中會遇到亂碼問題,

答案:問題出在ECSHOP在把資料放進數據庫時, 經過了htmlentities的處理, 防止javascriptr的惡意輸入,
   文件位於/includes/lib_passport.php第165行:
   原代碼: $other[$key] = htmlentities($val); //防止用戶輸入javascript代碼

只要把htmlentities換成htmlspecialchars就OK 了

$other[$key] = htmlspecialchars($val); //防止用戶輸入javascript代碼
   另一個文件位於/includes/lib_transaction.php第85行:
   原代碼: $profile[‘other‘][$key] = htmlentities($val); //防止用戶輸入javascript代碼
   修改後的代碼為:
   $profile[‘other‘][$key] = htmlspecialchars($val); //防止用戶輸入javascript代碼


----------------------------------------------------------------------------------------------------------------------------

問題6:如何添加自定義lbi文件

下面以ECSHOP 2.7.2為例,添加自定義的lbi文件……

1.找到 admin下面 includes\lib_template.php 找到
$page_libs = array( 這裏…. 給您需要的頁面加上 你自己的 seoyy.lbi
2.找到 languages 下面的 zh_cn\admin\template.php 添加
$_LANG[‘template_libs‘][‘seoyy‘] = ‘我的seoyy’;
3. 在 themes\模板文件夾下面的 libs.xml 修改, 加上 /labrary/seoyy.lbi
4. 在 labrary 加上 seoyy.lbi
這樣就OK了。

ecshop常見錯誤的處理方法