[2009/04/16]发布《Drupal项目实战-公司订餐系统(四)》本博客内容均为原创(Original),如有雷同,纯属巧合。转载请注明出处。同时欢迎学术探讨与批评。

2009年1月17日星期六

如何升级Drupal 6

使用Drupal 6.0后,可以在后台管理的“报告”中收到Drupal最新更新的提示。如下图:
比如,我现在使用的是D6.8,Drupal提示我要升级为D6.9。那么如何升级呢?

首先直接下载D6.9的安装包,其中有一个UPGRADE.txt文件,用Editplus或其它高级点的notepad打开(因为是UNIX换行,所以在Windows的记事本中看是一团文字。),里面便是Drupal的升级建议,其中首要的几条是:

  1. 确定你的系统符合Drupal新版的要求。要求(Requirements)可以在http://drupal.org/requirements中查看。
  2. 备份所有的相关数据
  3. 检查自定义模块和主题的兼容性
  4. 确保你阅读了整个文件内容

第1条没的说,只要是LAMP或能运行PHP和MySQL即可。推荐使用APACHE。
第2条比较重要,我一般是备份一下整个数据库,以及sites/all下面的我自己安装的modules和themes。要不怎么说不要轻易更改Drupal内核文件呢,现在就看出好处来了。如果你开发时偷懒,不使用Drpual API和Hook来开发自定义模块,要升级系统时就很郁闷了,你需要记住你修改了哪些内核文件,而且还要和新版的文件对比再合并,so troubled。另外,建议大家读一下新版有哪些升级,是否对数据库有大的改动。
同时,还有sites/default/下的settings.php配置文件、.htaccess以及robot.txt文件等会被开发者修改的文件,都要留意的备份一下。OK,总结一下,列个表:

  1. 数据库
  2. sites/all下面的所有文件
  3. sites/default/settings.php配置文件。如果是多站点,还需要备份每个站点settings.php文件。如sites/example.com/settings.php。
  4. .htaccess
  5. robots.txt

第3条其实也很简单,去你使用的module和theme的project首页,检查一下是否可以使用在新版本中。一般情况,module或theme都是默认适用于同一版本系列的,比如5.x或6.x,微小的版本升级都可直接使用。不过对于像D5到D6这样的重大升级,还是要先看看是否支持D6,然后去下载新版本。
第4条写给英语好的朋友们,UPGRADE.txt文档里列出了升级的步骤,还是值得参考的。下面是我整理的步骤:

  1. 备份。备份所有能备份的东西。
  2. 获得超级管理员帐户。就是UserID = 1的用户。
  3. 将站点设置为off-line即下线状态,这样可以防止在升级时有用户访问。
  4. 将主题切换至默认主题——Garland。
  5. 关闭所有的第三方模块和自定义模块。
  6. 将Drupal自带的安装目录和程序全删除。这里指drupal根目录中除files、sites外其它的任何目录。
  7. 将新的Drupal程序包解压缩至相同位置。
  8. 设置好配置文件,如settings.php等。并且要确认是正确的。
  9. 关键的步骤:运行站点下的update.php,如http://www.example.com/update.php。如果你没权限运行,找到settings.php文件,将里面的$update_free_access设置为TRUE。然后在安装结束后再设置为FALSE。
  10. 运行update.php成功后,开启自定义和第三方模块modules。
  11. 再次运行update.php。
  12. 成功后,将站点设置为“上线on-line”。
  13. 更新结束。

欢迎朋友们交流升级心得,分享遇到的问题。

没有评论:

发表评论