本帖最后由 vinsonwang 于 2011-5-31 16:32 编辑
最近在论坛上经常会看见很多站长在询问一些“内部错误,无法显示”等问题。仅此一句,站长很难发现问题具体出在哪里,而造成这些问题的原因,往往是数据库报错的原因,而不具体显示在网页前端,优化了用户体验的同时,也增加了问题排查的难度。火狐浏览器的firebug插件是开发人员的有力工具,同时也是和站长自己日常网站的测试,检查。下面就简单介绍一些有关firebug测试网站一些报错的方法。
没有火狐浏览器firefox的童鞋,需要准备一款火狐浏览器,打开浏览器,点击“工具”,“附件组件”,搜索“firebug”,见图:
安装很简单,安装完成后需重启浏览器。
接下来我们打开自己的网站,等加载完页面,按一下F12,F12是开启关闭firebug插件的快捷键。见下图所示:
这个就是firebug插件工作界面,默认是”HTML”模块,这个功能类似于大家所熟悉的右键查看源代码。下面举个例子,例如登录时没反应,前提用户名密码都对,就是没反应,也不跳转,或者点击一个按钮,就那么一直加载,也不动。这时我们点击“网络”模块,界面见下图: “网络”模块的功能是记录网站访问及加载的URL地址,我们访问网站就是若干次的HTTP请求并返回请求的值,若干次URL地址的跳转。点击登录没反应,那么就要看看我们的请求所返回的值到底是什么,有没有返回值。现在我们点击登录,在“网络“模块里界面里记录了如下请求地址,见图:
那个POST member.php……,就是我们的请求地址,点击这个地址,下面会列出参数、头信息、Post、响应,HTML,我们点开HTML,看到了MySQL报错,原来是我们的网站本身数据库帐号没权限访问数据库,有可能是帐号真没权限,也有可能是配置文件中帐号写的不对,这就要查配置文件中数据库的帐号密码了。常见的还有如下mysql报错:
1044:数据库用户权限不足,请联系空间商解决。
1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。 1046:没有选择数据库
找到原因了吧,Discuz! X系列对于后台报错信息,在前台做了优化处理,大部分都会显示“内部错误,无法显示“,现在终于找到原因了,有人会问,这些错误代码看不懂,没关系,知道了这些MySQL报错代码,再向高手询问,或者自己搜索就有了方向。下面给出一些常见MySQL报错代码:- MySQL错误代码
- 130 :文件格式不正确,可以尝试一下使用 repair.php 来修复,如果再不能的话就只好恢复相关的数据了(还不是很清楚错误的状况)
- 145 :文件无法打开,使用 repair.php 修复
- 1005:创建表失败。
- 1006:创建数据库失败。
- 1007:数据库已存在,创建数据库失败。
- 1008:数据库不存在,删除数据库失败。
- 1009:不能删除数据库文件导致删除数据库失败。
- 1010:不能删除数据目录导致删除数据库失败。
- 1011:删除数据库文件失败。
- 1012:不能读取系统表中的记录。
- 1016:文件无法打开,使用后台修复或者使用 phpmyadmin 进行修复。
- 1017:服务器非法关机,导致该文件损坏。
- ************解决方法************
- 1020:记录已被其他用户修改。
- 1021:硬盘剩余空间不足,请加大硬盘可用空间。
- 1022:关键字重复,更改记录失败。
- 1023:关闭时发生错误。
- 1024:读文件错误。
- 1025:更改名字时发生错误。
- 1026:写文件错误。
- 1030:可能是服务器不稳定。(具体原因不是很清楚************解决方法************
- 1032:记录不存在。
- 1036:数据表是只读的,不能对它进行修改。
- 1037:系统内存不足,请重启数据库或重启服务器。
- 1038:用于排序的内存不足,请增大排序缓冲区。
- 1040:已到达数据库的最大连接数,请加大数据库可用连接数。
- 1041:系统内存不足。
- 1042:无效的主机名。
- 1043:无效连接。
- 1044:数据库用户权限不足,请联系空间商解决。
- 1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
- 1046:没有选择数据库。
- 1048:字段不能为空。
- 1049:数据库不存在。
- 1050:数据表已存在。
- 1051:数据表不存在。
- 1054:字段不存在或程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
- 1060:字段重复,导致无法插入这个字段。
- 1062:字段值重复,入库失败************解决方法************
- 1064:MySQL 不支持错误提示中的编码************解决方法************
- 1065:无效的 SQL 语句,SQL 语句为空。
- 1067:MySQL 版本为 5,不支持空的默认值。
- 1081:不能建立 Socket 连接。
- 1114:数据表已满,不能容纳任何记录。
- 1115:设置的字符集在 MySQL 并没有支持。
- 1116:打开的数据表太多。
- 1129:数据库出现异常,请重启数据库。
- 1130:连接数据库失败,没有连接数据库的权限。
- 1133:数据库用户不存在。
- 1135:可能是内存不足够,请联系空间商解决。
- 1141:当前用户无权访问数据库。
- 1142:当前用户无权访问数据表。
- 1143:当前用户无权访问数据表中的字段。
- 1146:数据表缺失,请恢复备份数据。
- 1147:未定义用户对数据表的访问权限。
- 1149:SQL 语句语法错误。
- 1158:网络错误,出现读错误,请检查网络连接状况。
- 1159:网络错误,读超时,请检查网络连接状况。
- 1160:网络错误,出现写错误,请检查网络连接状况。
- 1161:网络错误,写超时,请检查网络连接状况。
- 1169:字段值重复,更新记录失败。
- 1177:打开数据表失败。
- 1180:提交事务失败。
- 1181:回滚事务失败。
- 1193:不支持字符集限定(SET NAMES************解决方法************
- 1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库。
- 1205:加锁超时。
- 1211:当前用户没有创建用户的权限。
- 1216:外键约束检查失败,更新子表记录失败。
- 1217:外键约束检查失败,删除或修改主表记录失败。
- 1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器。
- 1227:权限不足,您无权进行此操作。
- 1235:MySQL 版本过低,不具有本功能。
- 1251:Client 不能支持 authentication protocol 的要求。(不知道解释是否正确************解决方法************
- 1267:不合法的混合字符集
- ************解决方法************
- 2002:服务器端口不对,请咨询空间商正确的端口。
- 2003:MySQL 服务没有启动,请启动该服务。
- 2013:远程连接数据库是有时会有这个问题,MySQL 服务器在执行一条 SQL 语句的时候失去了连接造成的。
复制代码 当然firebug中的“网络“模块不止上述一些简单功能,它还能检查页面加载情况,看哪个链接加载失败,记录的很清楚,例如:
这个红色的localhost一行地址,代表logo_88_31.gif这个图片没加载上,作为站长执行优化工作来说,这些功能实在是太实用了。
当然firebug功能不会局限于此,希望站长朋友多多学习,会对自己做站有很大帮助。
|