早上起得比较晚,打开自己的blog,本来想点看一下最新的评论,结果却发现了一个错误:
user error: Got error 28 from storage engine query: ....
Drupal把它归为PHP错误,但事实上这是一个MySQL错误,错误的原因是因为没有足够的存储空间。具体的说是没有足够的用来存储临时文件的空间。用下述指令查看了临时数据表的大小和存放位置:
show variables like "tmp_table_size";
show variables like "tmpdir";
然后写信给空间提供商,报告了问题,2分钟后问题就解决了,但是由于这个数据库的存储错误,导致了我的数据库本身也发生了一些错误,修复以后出现了一个问题:匿名的用户无法正常访问Blog首页,其他网站也无法正常抓取RSS了。通常出现这种问题的检查方式如下:
1. 检查 access control中,匿名用户的权限;(我的没有问题)
2. 检查数据库中user_roles数据表,特别是 uid=0,rid=1这一个entry,它是设定用户访问权限的; (我也也没问题)
3. 检查数据库中 user 数据表,看看uid=1有没有定义,以及它的rid有没有问题;(我也没有问题)
4. 检查数据库中node_access 和 permission两个数据表;(我的也没有问题)
有些让人ft了,所有可能出错的地方都查到了,结果一点问题都没有,可是匿名用户就是不能访问首页。最后想到了最土的一招:重启。呵呵,以前无论是电脑、手机、pocket pc还是ipod,只要出了解决不了的问题便拿来reset一下,问题都可根治,这次又拿Drupal试了一下: 在access control里把匿名用户"访问内容"的权限取消,然后保存;然后再启动匿名用户访问内容的权限,再保存; 完成了一个reset的过程,结果问题果然又解决了! --无语