
Drupal 7 除错指引
致命错误
Drupal 发生致命错误时,有时会返回空白页面,需要查看 PHP 或 Apache 日志文件来定位具体错误。
menu_get_object 未定义
PHP Fatal error: Uncaught Error: Call to undefined function menu_get_object() in includes/theme.inc:2580
Stack trace:
#0 includes/theme.inc(1125): template_preprocess_html(Array, 'maintenance_pag...')
#1 includes/errors.inc(254): theme('maintenance_pag...', Array)
#2 includes/bootstrap.inc(2609): _drupal_log_error(Array, true)
#3 [internal function]: _drupal_exception_handler(Object(PDOException))
#4 {main}
thrown in includes/theme.inc on line 2580
清除 Cache 可以解决此类错误。
环境配置错误
Image Captcha 无图片
查看 Apache 的 rewrite 模块是否正确开启 apachectl -t -D DUMP_MODULES
,执行 a2enmod rewrite
可解决。
Clean URL 无法开启
访问 /admin/config/search/clean-urls,尝试开启 Clean URL 失败,查看 Apache 的 rewrite 模块是否正确开启 apachectl -t -D DUMP_MODULES
,执行 a2enmod rewrite
可开启模块。
表单无法提交
提交表单后无法调用对应的 submit 函数,即使显式设置 form 的提交函数 $form['#submit'][] = '<函数名>';
也无法调用。
解决办法:查看 Clean URL 是否正确配置。Clean URL 没有正确配置的情况下,表单虽然可以访问,但是会发生无法提交的情况。尝试用 ?q= 的方式访问表单,确认能否提交数据,如果表单正确工作,则查看 Apache rewrite 模块是否正确开启 a2enmod rewrite
。