Drupal 6 升级到 Drupal 7 注意事项及技巧

  本文档记录 Drupal 6 升级到 Drupal 7 的一些注意事项和处理技巧,从而避免在升级过程中遇到一些常见问题。

注意事项:

  • 禁用所有主题,并将 Garland 设为默认主题
  • 禁用所有第三方模块和自定义模块

如果没有执行以上操作,常常会出现找到不指定函数而导致网站无法打开的情况,因此在执行升级前,请确保禁用了所有的主题和模块。

如果升级之后网站不能打开,查看 Web 服务器日志,一般能够定位到出问题的原因。

技巧:在升级之后发现有模块和主题没有禁用,可以通过修改 Drupal 数据库中 system 表中 status 列的值来设置主题或模块的状态(并不推荐这个办法,但这样做确实能解决一些问题。大家最好还是在进行升级前确认禁用了所有第三方和自定义的模块和主题)

 

如果网站数据较多,升级过程会变得十分漫长,可能会长达几个小时,因此在进行数据库更新之前,可以:

  • 清空数据库中所有 cache 开头的数据库表
  • 清空数据库中所有 search 开头的数据库表

说明:cache 开头的数据库表都是缓存数据,search 开头的数据库表保存是的搜索相关的索引数据,尤其是 search_index 表中的数据量巨大(几百万、千万、上亿)。这些表中的数据都是可以自动再生成的内容,因此清空这些表对于减少数据库体积十分有效果。

注意:有关清空所有 search 开头数据库表的作法并不知道有没有什么副作用,有顾虑的朋友请进行一些研究。(cache 开头的表可以安全清空)。

 

技巧:对于中大型网站,建议使用 drush 来执行数据库更新操作(drush updatedb),因为对于数据库的升级可能长达几个小时,通过访问 update.php 来执行升级操作可能出现PHP脚本执行超时和AJAX的错误。

 

如果您在升级过程中遇到其它一些常见问题,欢迎分享您的经验或者提问 :)