用drupal开发网站的时候,经常会遇到白屏(WSOD,White Screen Of Death)。 白屏的原因,有很多种,其中一种是缓存中表项内容错乱所引起的,下面就介绍此原因对应的解决办法:清除缓存表项。
( P& Y4 x3 e& v6 k U) ?5 p1.当白屏的时候,有时候是可以进入主页的。如果可以进入主页,安装了devel模块+Administration menu模块的情况下,是可以通过 鼠标移动到左上角->Flush All Cache,去清除所有缓存,或者Flush All Caches -> Cache Tables,只清除表项的缓存,来试图解决白屏的问题。
7 ~, y: t1 h) m1 n8 c- U- }% e2.但是很多时候,白屏的时候,是连主页也进入不了的,所以就要想别的办法去实现清除表项。
" P/ h& \) Q/ u A) l此法有老外已经整理了: Clearing Drupal's cache to recover from WSODs # G( k1 c6 {# u
简单翻译和整理如下(假定你是用的PhpMyAdmin来管理MySQL数据库的): 1.登陆PHPMyAdmin 2.左边那一列中,找到你当前drupal网站所使用的数据库,并点击之。
6 D- u3 d7 b9 M* i2 s5 K& _$ P; q# t0 W
3 J4 l+ f. y0 X! w9 {
3. 数据库的表项会在左栏显示,找到“cache”并点击之。
* w/ _; L: g5 ~. B/ ?5 p

: z5 N% n5 x0 R2 h! B+ `) V$ t
4. 在cache表中的项就会在右边主页面中显示了。在页面顶部右上角有个“Empty”: - n) w" C: w; e: p9 E

- a% c1 j7 F% }9 O) Q意思是清空(缓存)。点击“Empty”,会弹出对话框问你是否真的想要清空(数据库操作中对应的是TRUNCATE),点击“确定”。
4 W: v8 L) O p ^
 . b) i4 `* N8 A+ |9 u2 o& o
5. 此时就可以清除表项的缓存了。回到你的浏览器中,重新多刷新几次页面,(如果是缓存表项错乱所引起白屏的话),那么此时你可以可以看到你的drupal网站又可以正常显示了,^_^。
! O% W. L6 f0 k% M) a |