我知道“官方的”的流程是,向主机上上传”tar”文件并解压它。另一种选择是,可以直接从你的PC测试站点上将代码拷贝过去。我试了两次,从我的机子上上传代码,两次都带来了灾难性的影响。(好吧,难道这和我的人品有关!)。所以,我摸索出来了自己的流程。[顺便说一句,这种方式也能够减少带宽的使用,这对于那些带宽受限的人来说是有些帮助的。]
我一般都使用cPanel/Fantastico来安装Drupal,(我知道可能有人会对Fantastico不满,但对我来说,它还是不错的)。现在,为了公平起见,我先告诉你Fantastico能做什么,不能做什么。
Fantastico仅支持核心功能。她不支持自定义主体,第3方模块,或者定制代码(超出了本书讨论的范围)。Fantastico也没有使用”update.php”(事实上,根本就没有加载它),所以最好不要使用它来升级你的站点。当你了解到这些限制以后,你可能就不再抱怨了。
确保在你的测试站点上,模块和主题的版本都正确,并且都能正常工作。
下面是我的流程:(顺便讲一句,对于大多数主机,这一流程也基本能够适用)
1. 找一支笔和一张纸,记下你都做了哪些修改。好记性不如烂笔头的,如果你需要重做,或者考虑哪些修改阻碍了向新版本的升级时,这对你会很有帮助。
2. 使用phpMyAdmin(在一些主机上,它隐藏在MySql后面),来备份你的在线数据库。如果你的drupal站点,有大量用户正在创建新的内容的话,那你需要将站点改为维护模式,从而阻止丢失内容。
3. 最好也备份你的测试数据库,以防万一…
4. 将你的数据库导入到测试站点中。
5. 下载你上传的所有图片,以及上传的所有模块。
6. 如果你的在线站点和测试站点的drupal版本不一样的话,你需要运行”update.php.”
o 打开浏览器,访问你的测试站点。如果看到有地方不对劲或者整个站点一片空白的话,不必惊慌。
o 在地址栏中的URL后面,追加”update.php”,然后点击Enter键。如果它告诉你没有相应的访问权限的话,也不用担心。
§ 使用记事本或者类似的文本编辑器,打开”update.php”.
§ 在顶部附近,你将看到:
// Enforce access checking?
$access_check = TRUE;
§ 将它改为FALSE并保存。
§ 再试一遍。
§ 如果仍然有错误的话,你可以搜索Drupal官方网站来寻求解决方案。一般情况下,应该有人也遇到过同样的问题。如果还是找不到的话,你可以发个帖子寻求帮助。将你的站点退出维护模式,当这个问题解决以后,再重新开始。
§ 将$access_check改回TRUE。
o 如果你有一个自定义主题的话,为了正常工作,你可能需要重新启用它。
o 现在查看一下你的模块设置。它们应该一切正常。
o 检查你的内容,特别是首页。确保菜单是正确的。
o 检查任何用到了自定义代码的内容,特别是当你升级Drupal版本时,尤其需要注意这一点。
o 所有的都检查完了吗?好的,现在所有的困难都已经解决。现在开始容易的部分。
7. 好的,现在来做剩余的工作。对我来说,剩余的部分花了不到15分钟,所余对于大家来说,所需要做的工作也非常容易。
8. 如果你当前的站点是安装在Fantastico,那么删除当前站点的文件夹。如果没有的话,你需要手工的删除所有的文件夹。
9. 现在让Fantastico来安装当前的版本。目录字段不要填写,这样就可以装在你的根目录下面了(可能是”public_html”)。你提供的用户名和密码应该是超级用户的(user/1).
10. 当完成以后,我一般都让它给我发封关于安装总结的电子邮件。
11. 如果你的用到了自定义主题,第3方模块,或者图片等等的话,使用FTP将它们上传到服务器上的合适位置。
12. 如果有图片或者模块相关的文件夹的话,现在上传它们。
13. 完成以后,在你的测试站点上使用phpMyAdmin创建一个备份。
14. 接着,再次访问你的cPanel,打开phpMyAdmin。选择你的Drupal数据库,接着点击”Import.”通过一个文件浏览窗口找到你本地的备份sql,然后点击”Go”按钮。
15. 如果你有一个自定义主题的话,导航到Administer>>Site Configuration>>Themes,启用这个主题。[提示:如果你的站点开始看起来有点怪怪的话,不必惊慌。记住你可以试用http://www.mywebsite.com/?q=user登陆后台管理界面的。]
16. 如果你的测试站点和在线站点目录不一样的话,你可能需要更新IMG链接等等。特别是对于一些硬编码的链接,你一定要记号哪些硬编码的链接需要修改。
17. 现在一切都搞定了。
18. 如果你使用的是Fantastico的话,你还需要多做一点:进入你本地的主Drupal目录,将update.php脚本拷贝到你的服务器上。我不知道他们为什么删掉了这个文件,即便是他们不使用它。你将来可能会用到这个文件。
--转自