typecho出现database query error 500解决方法

本文最后更新于 2018年8月4日。

开启typecho的调试模式,观察错误log
在网站根目录下的入口文件index.php开头处增加如下代码:

define('__TYPECHO_DEBUG__',true);

再次访问出错的页面,正常情况下可以看到类似这样的信息:

Table 'typecho.te_options' doesn't exist

exception 'Typecho_Db_Query_Exception' with message 'Table 'typecho.te_options' doesn't exist' in /var/www.typechodev.com/var/Typecho/Db/Adapter/Mysql.php:77
Stack trace:

0 /var/www.typechodev.com/var/Typecho/Db.php(319): Typecho_Db_Adapter_Mysql->query(Object(Typecho_Db_Query), Resource id #2, 1, 'SELECT')

1 /var/www.typechodev.com/var/Typecho/Db.php(349): Typecho_Db->query(Object(Typecho_Db_Query), 1)

2 /var/www.typechodev.com/var/Widget/Options.php(345): Typecho_Db->fetchAll(Object(Typecho_Db_Query), Array)

3 /var/www.typechodev.com/var/Typecho/Widget.php(222): Widget_Options->execute()

4 /var/www.typechodev.com/var/Widget/Init.php(27): Typecho_Widget::widget('Widget_Options')

5 /var/www.typechodev.com/var/Typecho/Widget.php(222): Widget_Init->execute()

6 /var/www.typechodev.com/index.php(17): Typecho_Widget::widget('Widget_Init')

7 {main}

根据提示逐步查找原因。