共计 1829 个字符,预计需要花费 5 分钟才能阅读完成。
上一篇文章我们介绍了通过SSH,利用PEAR来完成Magento的升级, 但是如果PEAR有问题, 或者感觉使用不怎么不放心的话, 我们还可以用全手工的方式完成Magento的升级, 今天将对这种方式做一次详细的介绍, 假设我们在网站的服务器上已经拥有SSH权限, 当然, 如果你没有SSH的权限, 只有FTP的权限, 也可以成功的, 只不过要麻烦很多…
同样, 在升级之前我们要备份网站的一切,
1. 首先, 备份你的网站的所以文件:
$ tar -cvvzf web_site_directory.tar.gz web_site_directory/
2. 备份网站的数据库, 一般有三种方式:
其一, 通过magneto后台自身备份, System->Tools->Backups
其二, 通过PHPMyAdmin来完成数据库备份(数据库不能太大, 否则,需要更改php的运行时间限制)
其三, 通过mysql命令行的方式:
mysqldump -u USER -p DBNAME > dump.sql
若需要恢复备份,则只需要运行下面命令:
mysql -u USER -p DBNAME < dump.sql
3. 单独备份配置文件app/etc/local.xml, 下面会用
4. 在网站根目录下,创建一个新的文件夹new
mkdir
new
wget http:
//www
.magentocommerce.com
/downloads/assets/1
.5.0.1
/magento-1
.5.0.1.
tar
.gz
tar
xvfp magento-1.5.0.1.
tar
.gz
注释: 解压的时候, 一定要配合参数–xvfp, 这样可以确保解压后的目录权限, 避免很多因为目录权限原因引起的500错误.
6. 创建一个新的数据库, 然后, 把之前的备份导入到新数据库中, 在导入之前, 先关闭外键的关联, 否则导入时可能会报错, 在备份文件dump.sql的开头和结尾分别加上下面代码:
强制关闭外键关联
SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET
NAMES utf8;
SET
@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET
@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET
@OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=
'NO_AUTO_VALUE_ON_ZERO'
;
SET
@OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;
SET
SQL_MODE=@OLD_SQL_MODE;
SET
FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET
UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;
SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;
SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;
SET
SQL_NOTES=@OLD_SQL_NOTES;
mysql -u USER -p NEWDBNAME < dump.sql
7. 修改数据库表core_config_table,里面的base_urls, 指定到当前的路径, 例如: http://www.mysite.com/new/
8. copy 备份的app/etc/local.xml 到 /new/ app/etc/local.xml
9. copy 原站点/media目录下的所有文件, 到/new/media
10. 访问你的新站点,然后测试, 测试, 再测试
升级完成, 第一次加载时间会很长, 因为magneto要升级老的数据库,初始化生成很多临时文件, 如果一切都进展顺利, 我们就可以逐步移植自己的自定义模块或第三方模块了.