Skip to content

3. V2 版本更新教程

Prk edited this page Jan 29, 2023 · 1 revision

本教程针对 V2.X 版本升级到新版程序提供教程,且只升级到 V2.9 版本,若想升级到 V3.X 版本请查看 更新教程

一、准备

在开始更新到新版本之前,需要进行的准备。

1) 备份

该操作涉及影响网站文件及数据库,我们无法保证自己无意外完成操作。在操作之前,建议大家备份数据库和网站文件!

2) PHP CLI 命令行

因为需要使用命令行,所以你需要确保 Linux 系统中使用 php 命令时,可以使用大于 PHP 7 的命令行(建议版本:7.3)。

在开始之前务必提前检查一下 PHP CLI 的版本。

php --version

使用该命令,会返回出类似下面的内容。只要检查最前面的部分,比如我这边是 PHP 7.3.31 那么版本就是 7.3.31,符合要求且是建议版本,那么就可以继续往下执行。

PHP 7.3.31 (cli) (built: Sep 25 2021 15:44:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.31, Copyright (c) 1998-2018 Zend Technologies

如果你在使用宝塔面板,请在 宝塔面板左侧菜单【网站】->顶部【PHP 项目】(旧版没有)->网站列表上方【PHP 命令行版本】 处切换 PHP 版本。就算你的宝塔面板使用 PHP 7.3 那么在这里也只显示了 PHP-73 也务必点击 “提交” 按钮。目前发现宝塔面板即使只安装了这一个 PHP 版本那么直接使用 PHP CLI 也是没办法的,务必要点击这里的 “提交” 按钮才可以使用 PHP CLI。

二、更新

当你完成了准备工作后,那么现在开始更新发卡系统程序了。

1) 下载并解压新版程序

为了防止一些奇妙的问题,需要先将源码下载并解压到临时文件夹再替换旧网站,所以要先创建一个临时文件夹。该过程会教你升级到 2.9 版本,通过 2.9 版本升级到更高版本请参阅 更新教程

# 进入你的网站目录(需要将 /www/wwwroot/example.com 替换为你自己的网站目录)
cd /www/wwwroot/example.com

# 创建一个临时文件夹
mkdir tmp_card_update/

# 进入临时文件夹
cd tmp_card_update/

# 下载 2.9 版本的源码
wget -O card_release.tar.gz https://github.com/Tai7sy/card-system/releases/download/2.9/card_release.tar.gz

# 解压源码包到临时文件夹
tar -zxf card_release.tar.gz

2) 覆盖新版程序

2.9 版本的程序复制并覆盖旧版程序上,并删除临时文件夹。

# 复制内容到网站目录(需要将 /www/wwwroot/example.com 替换为你自己的网站目录)
\cp -rf card_system_free_dist/. /www/wwwroot/example.com

# 回到网站主目录并删除临时文件夹
cd ../ && rm -rf tmp_card_update

3) 升级数据库

进入网站数据库将数据库升级。务必保证 PHP 版本为要求的版本!

# 进入你的网站目录(需要将 /www/wwwroot/example.com 替换为你自己的网站目录)
cd /www/wwwroot/example.com

# 执行升级流程
php artisan migrate

4) 设置目录权限

为了保证程序的运行,Laravel 框架在包括缓存在内的多处需要修改文件等操作,需要目录权限。

# 进入你的网站目录(需要将 /www/wwwroot/example.com 替换为你自己的网站目录)
cd /www/wwwroot/example.com

# 对相关目录递归赋予所有子文件夹和文件最高权限
chmod -R 777 storage/
chmod -R 777 bootstrap/cache/

5) 清理缓存

一般来说,程序出现问题最多都是缓存造成。每次进行大动作需要清理缓存以防出现意料之外的状况。

# 进入你的网站目录(需要将 /www/wwwroot/example.com 替换为你自己的网站目录)
cd /www/wwwroot/example.com

# 清除各种缓存
rm -rf storage/framework/cache/data/*
php artisan cache:clear
php artisan config:clear
php artisan route:clear

完成上述操作后你将完成更新。如有问题请发【Issues】提出,且如果你想升级到更高的版本,请参阅:更新教程