# 系统升级说明

升级需要执行以下基本步骤,请确保每个步骤正确。

说明:升级前请全量备份网站数据库和代码,避免升级操作有误造成系统不能正常运行。

# 系统自动升级

v1.5.0 开始,系统提供自动升级功能。当有新版本出现时,在后台可以通过自动升级操作一键升级。

在自动升级前请备份好旧的系统数据,避免升级失败造成的数据丢失等情况。

# 系统手动升级

# 1 旧的系统备份

假如旧系统的部署目录为 /xxx/test.com, 请重新命名为 /xxx/test.com.bk

Linux参考命令

mv /xxx/test.com /xxx/test.com.bk
1

Windows参考操作

复制文件 X:\xxx\test.com 到 X:\xxx\test.com.bk
1

# 2 解压最新的代码

解压最新的代码到 /xxx/test.com

Linux参考命令

mkdir -p /xxx/test.com
cp xxx.zip /xxx/test.com
cd /xxx/test.com
unzip xxx.zip
1
2
3
4

Windows参考操作

创建文件夹 X:\xxx\test.com
解压安装包 xxx.zip 到 X:\xxx\test.com
1
2

# 3 迁移自安装模块

如果系统不是行业定制版,可能有些模块是自行安装的,这时需要将 module/ 目录中的自安装模块复制到升级后的系统中。

Linux参考命令

cp -av /xxx/test.com.bk/module/xxx /xxx/test.com/module
1

Windows参考操作

复制自行安装的模块 X:\xxx\test.com.bk\module\xxx 到 X:\xxx\test.com\module
1

# 4 复制配置文件

从老的项目代码中复制以下配置文件到新的代码中。

  • 配置文件:.env
  • 上传文件:public/data

Linux参考命令

cp -av /xxx/test.com.bk/.env /xxx/test.com/
cp -av /xxx/test.com.bk/public/data /xxx/test.com/public/
1
2

Windows参考操作

复制配置文件 X:\xxx\test.com.bk\.env 到 X:\xxx\test.com
复制数据文件 X:\xxx\test.com.bk\public\data 到 X:\xxx\test.com\public
1
2

# 5 升级数据库

说明:系统的升级会伴随着数据库字段和系统配置的升级,系统的版本发布都会包含历史系统的所有操作,执行该步骤可以升级系统数据库字段、操作等

Linux参考命令

php /xxx/test.com/artisan migrate
php /xxx/test.com/artisan modstart:module-install-all 
1
2

Windows参考操作

打开CMD命令窗口
运行命令 php.exe X:\xxx\test.com\artisan migrate
运行命令 php.exe X:\xxx\test.com\artisan modstart:module-install-all 
1
2
3

# 6 清除缓存并完成升级

  • 如果启用了 Redis 等外部缓存依赖,请清除缓存后再重新访问系统。
  • 如果使用的是系统自带的文件缓存,直接访问新系统。

# Linux环境设置部署源为git仓库

开源用户请忽略此部分内容

# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /www/wwwroot/www.example.com
# 进入到上一级目录
cd ..
# 备份源系统为
mv www.example.com www.example.com.old
# clone最新的git仓库
git clone https://xxx.example.com/git/xxx.git www.example.com
# 进入到新系统目录
cd www.example.com
# 复制老的系统文件到新系统中
cp ../www.example.com.old/.env .
cp -a ../www.example.com.old/public/data/* public/data/
# 新增加安装锁定文件
touch storage/install.lock
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

对于部分商业用户,我们提供了专属的git仓库地址用于前期项目的同步开发和测试。

# Windows环境设置部署源为git仓库

开源用户请忽略此部分内容

对于部分商业用户,我们提供了专属的git仓库地址用于前期项目的同步开发和测试。

# 右击打开 git bash
# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /x/wwwroot/www.example.com
# 进入到上一级目录
cd ..
# 备份源系统为
mv www.example.com www.example.com.old
# clone最新的git仓库
git clone https://xxx.example.com/git/xxx.git www.example.com
# 进入到新系统目录
cd www.example.com
# 复制老的系统文件到新系统中
cp ../www.example.com.old/.env .
cp -a ../www.example.com.old/public/data/* public/data/
# 新增加安装锁定文件
touch storage/install.lock
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# Linux环境同步git仓库代码

# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /www/wwwroot/www.example.com
# 拉取最新代码
git pull origin master
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
1
2
3
4
5
6
7
8
9
10

# Windows环境同步git仓库代码

安装 git 管理工具

第一步、在网站目录打开 git bash

第二步、拉取最新代码,输入命令 git pull origin master

第三步、执行数据库迁移工作,依次运行以下命令

php.exe artisan migrate
php.exe artisan modstart:module-install-all
1
2

第四步、清除缓存,依次运行以下命令

php.exe artisan cache:clear
php.exe artisan view:clear
1
2

# 常见问题

# 系统升级未完全如何手动补救

部分系统升级时调用升级命令失败,可通过手动执行以下命令继续完成

Linux参考命令

## 进入网站根目录
cd /wwwroot/example.com
## 执行系统迁移命令
php artisan migrate
## 执行模块迁移命令
php artisan modstart:module-install-all
1
2
3
4
5
6

Windows参考操作

打开CMD命令窗口
运行命令 cd X:\wwwroot\example.com
运行命令 php.exe X:\wwwroot\example.com\artisan migrate
运行命令 php.exe X:\wwwroot\example.com\artisan modstart:module-install-all
1
2
3
4

执行命令效果截图

执行 php artisan migrate 成功会出现如下界面,该命令可重复执行。

执行 php artisan modstart:module-install-all 成功会出现如下界面,该命令可重复执行。

Last Updated: 8 months ago