最近在論壇上經常會看見很多站長在詢問一些“內部錯誤,無法顯示”等問題。僅此一句,站長很難發(fā)現(xiàn)問題具體出在哪里,而造成這些問題的原因,往往是數據庫報錯的原因,而不具體顯示在網頁前端,優(yōu)化了用戶體驗的同時,也增加了問題排查的難度。火狐瀏覽器的firebug插件是開發(fā)人員的有力工具,同時也是和站長自己日常網站的測試,檢查。下面就簡單介紹一些有關firebug測試網站一些報錯的方法。
沒有火狐瀏覽器firefox的童鞋,需要準備一款火狐瀏覽器,打開瀏覽器,點擊“工具”,“附件組件”,搜索“firebug”,見圖:
安裝很簡單,安裝完成后需重啟瀏覽器。
接下來我們打開自己的網站,等加載完頁面,按一下F12,F12是開啟關閉firebug插件的快捷鍵。見下圖所示:
這個就是firebug插件工作界面,默認是”HTML”模塊,這個功能類似于大家所熟悉的右鍵查看源代碼。下面舉個例子,例如登錄時沒反應,前提用戶名密碼都對,就是沒反應,也不跳轉,或者點擊一個按鈕,就那么一直加載,也不動。這時我們點擊“網絡”模塊,界面見下圖: “網絡”模塊的功能是記錄網站訪問及加載的URL地址,我們訪問網站就是若干次的HTTP請求并返回請求的值,若干次URL地址的跳轉。點擊登錄沒反應,那么就要看看我們的請求所返回的值到底是什么,有沒有返回值。現(xiàn)在我們點擊登錄,在“網絡“模塊里界面里記錄了如下請求地址,見圖:
那個POST member.php……,就是我們的請求地址,點擊這個地址,下面會列出參數、頭信息、Post、響應,HTML,我們點開HTML,看到了MySQL報錯,原來是我們的網站本身數據庫帳號沒權限訪問數據庫,有可能是帳號真沒權限,也有可能是配置文件中帳號寫的不對,這就要查配置文件中數據庫的帳號密碼了。常見的還有如下mysql報錯:
1044:數據庫用戶權限不足,請聯(lián)系空間商解決。
1045:數據庫服務器/數據庫用戶名/數據庫名/數據庫密碼錯誤,請聯(lián)系空間商檢查帳戶。 1046:沒有選擇數據庫
找到原因了吧,Discuz! X系列對于后臺報錯信息,在前臺做了優(yōu)化處理,大部分都會顯示“內部錯誤,無法顯示“,現(xiàn)在終于找到原因了,有人會問,這些錯誤代碼看不懂,沒關系,知道了這些MySQL報錯代碼,再向高手詢問,或者自己搜索就有了方向。下面給出一些常見MySQL報錯代碼:- MySQL錯誤代碼
- 130 :文件格式不正確,可以嘗試一下使用 repair.php 來修復,如果再不能的話就只好恢復相關的數據了(還不是很清楚錯誤的狀況)
- 145 :文件無法打開,使用 repair.php 修復
- 1005:創(chuàng)建表失敗。
- 1006:創(chuàng)建數據庫失敗。
- 1007:數據庫已存在,創(chuàng)建數據庫失敗。
- 1008:數據庫不存在,刪除數據庫失敗。
- 1009:不能刪除數據庫文件導致刪除數據庫失敗。
- 1010:不能刪除數據目錄導致刪除數據庫失敗。
- 1011:刪除數據庫文件失敗。
- 1012:不能讀取系統(tǒng)表中的記錄。
- 1016:文件無法打開,使用后臺修復或者使用 phpmyadmin 進行修復。
- 1017:服務器非法關機,導致該文件損壞。
- ************解決方法************
- 1020:記錄已被其他用戶修改。
- 1021:硬盤剩余空間不足,請加大硬盤可用空間。
- 1022:關鍵字重復,更改記錄失敗。
- 1023:關閉時發(fā)生錯誤。
- 1024:讀文件錯誤。
- 1025:更改名字時發(fā)生錯誤。
- 1026:寫文件錯誤。
- 1030:可能是服務器不穩(wěn)定。(具體原因不是很清楚************解決方法************
- 1032:記錄不存在。
- 1036:數據表是只讀的,不能對它進行修改。
- 1037:系統(tǒng)內存不足,請重啟數據庫或重啟服務器。
- 1038:用于排序的內存不足,請增大排序緩沖區(qū)。
- 1040:已到達數據庫的最大連接數,請加大數據庫可用連接數。
- 1041:系統(tǒng)內存不足。
- 1042:無效的主機名。
- 1043:無效連接。
- 1044:數據庫用戶權限不足,請聯(lián)系空間商解決。
- 1045:數據庫服務器/數據庫用戶名/數據庫名/數據庫密碼錯誤,請聯(lián)系空間商檢查帳戶。
- 1046:沒有選擇數據庫。
- 1048:字段不能為空。
- 1049:數據庫不存在。
- 1050:數據表已存在。
- 1051:數據表不存在。
- 1054:字段不存在或程序文件跟數據庫有沖突,請使用正確的程序文件上傳上去覆蓋。
- 1060:字段重復,導致無法插入這個字段。
- 1062:字段值重復,入庫失敗************解決方法************
- 1064:MySQL 不支持錯誤提示中的編碼************解決方法************
- 1065:無效的 SQL 語句,SQL 語句為空。
- 1067:MySQL 版本為 5,不支持空的默認值。
- 1081:不能建立 Socket 連接。
- 1114:數據表已滿,不能容納任何記錄。
- 1115:設置的字符集在 MySQL 并沒有支持。
- 1116:打開的數據表太多。
- 1129:數據庫出現(xiàn)異常,請重啟數據庫。
- 1130:連接數據庫失敗,沒有連接數據庫的權限。
- 1133:數據庫用戶不存在。
- 1135:可能是內存不足夠,請聯(lián)系空間商解決。
- 1141:當前用戶無權訪問數據庫。
- 1142:當前用戶無權訪問數據表。
- 1143:當前用戶無權訪問數據表中的字段。
- 1146:數據表缺失,請恢復備份數據。
- 1147:未定義用戶對數據表的訪問權限。
- 1149:SQL 語句語法錯誤。
- 1158:網絡錯誤,出現(xiàn)讀錯誤,請檢查網絡連接狀況。
- 1159:網絡錯誤,讀超時,請檢查網絡連接狀況。
- 1160:網絡錯誤,出現(xiàn)寫錯誤,請檢查網絡連接狀況。
- 1161:網絡錯誤,寫超時,請檢查網絡連接狀況。
- 1169:字段值重復,更新記錄失敗。
- 1177:打開數據表失敗。
- 1180:提交事務失敗。
- 1181:回滾事務失敗。
- 1193:不支持字符集限定(SET NAMES************解決方法************
- 1203:當前用戶和數據庫建立的連接已到達數據庫的最大連接數,請增大可用的數據庫連接數或重啟數據庫。
- 1205:加鎖超時。
- 1211:當前用戶沒有創(chuàng)建用戶的權限。
- 1216:外鍵約束檢查失敗,更新子表記錄失敗。
- 1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。
- 1226:當前用戶使用的資源已超過所允許的資源,請重啟數據庫或重啟服務器。
- 1227:權限不足,您無權進行此操作。
- 1235:MySQL 版本過低,不具有本功能。
- 1251:Client 不能支持 authentication protocol 的要求。(不知道解釋是否正確************解決方法************
- 1267:不合法的混合字符集
- ************解決方法************
- 2002:服務器端口不對,請咨詢空間商正確的端口。
- 2003:MySQL 服務沒有啟動,請啟動該服務。
- 2013:遠程連接數據庫是有時會有這個問題,MySQL 服務器在執(zhí)行一條 SQL 語句的時候失去了連接造成的。
復制代碼 當然firebug中的“網絡“模塊不止上述一些簡單功能,它還能檢查頁面加載情況,看哪個鏈接加載失敗,記錄的很清楚,例如:
這個紅色的localhost一行地址,代表logo_88_31.gif這個圖片沒加載上,作為站長執(zhí)行優(yōu)化工作來說,這些功能實在是太實用了。
當然firebug功能不會局限于此,希望站長朋友多多學習,會對自己做站有很大幫助。
|