更新程序

创建于 2021-08-01 / 最近更新于 2022-01-10 / 4104
字体: [默认] [大] [更大]

功能说明

PESCMS系列软件均有升级程序。一般来说更新程序入口位于:系统设置 —— 基础设置 —— 点击版本号。

若您找到升级入口,可以直接在浏览器输入如下相对URL:/?g=Create&m=Setting&a=upgrade

例如您的域名为 example.com 。你在浏览器输入 example.com/?g=Create&m=Setting&a=upgrade

重要提醒

  1. 程序升级存在数据丢失风险,请您在执行任何升级流程前,先对程序的数据库、代码进行备份!
  2. 因升级导致程序异常,数据丢失的。PESCMS官方不负任何责任。

自动升级

PESCMS系列软件都集成了自动升级模块。在使用自动升级前,请确保您当前网络能够正常链接PESCMS官网,同时也要确保您部署PESCMS系列软件的服务器也能正常链接PESCMS。

确保上述信息无误后,执行如下步骤进入自动升级:

  1. 登录软件的管理员帐号。此帐号必须具备高级权限。推荐使用您安装软件时的初始帐号。

  2. 依次在后台找到 系统设置 -- 基础设置 -- 点击版本号 进入检查更新程序。

    image.png

  3. 进入检查更新程序,如果当前有更新发布,可以看到更新的内容。如下图所示:

    image.png

  4. 点击执行自动更新程序即马上执行更新动作了。

  • 自动更新会自动更新到最新版!若您只想更新一个版本,请选择手动更新。

手动升级

若您因网络问题或者自动升级一直失败。可以使用手工升级模式。流程如下:

  1. 参考自动升级流程,您需要先进入检查更新界面。
  2. 在检查更新界面,程序会提供一个下载更新按钮。如下图所示:
    image.png
  3. 将补丁下载到您本地后,再点击导入zip升级包按钮,如下图所示:
    image.png
  4. 点击手动安装更新按钮,等待更新程序完成。

解除手动升级验证限制

出于安全考虑,手动导入的补丁会与PESCMS官网进行一次补丁校验。非PESCMS官方发布的补丁将无法执行解压程序。

若您的服务器无法链接PESCMS服务器,那么您需要修改升级代码,解除此限制:

  1. 定位到 PUT/Setting.php 文件。

    1. Ticket此文件在 App/Ticket/PUT/Setting.php
    2. Team此文件在App/Team/PUT/Setting.php
    3. Doc此文件在App/Create/PUT/Setting.php
  2. 打开Setting.php文件并找到mtUpgrade()方法。将下图选中的业务逻辑删除:

    image.png

  3. 代码修改完毕并保存后,再次执行手动升级的流程。

程序升级完毕后,请务必恢复刚才删除的业务代码。具体安全隐患请参考:https://github.com/lazyphp/PESCMS-TEAM/issues/2

手工升级

自动升级和手动升级您到失败了,那么您需要选择手工升级了。手工升级很简单,根据如下流程执行即可:

  1. 下载补丁到您的电脑。并将补丁解压。

  2. 将解压得到的文件,一一对应地上传到服务器,覆盖文件。

  3. 文件覆盖完毕后,打开Upgrade/sql目录。可以看到以版本命名得x.x.x.sql。如下图所示:

    image.png

  4. 用编辑器打开对应版本的.sql文件。并复制文件的代码,到数据库中执行,如下图:

    image.png

  5. SQL执行成功后,打开option表,将对表中的version修改为当前最新的版本号。如下图所示:
    image.png

更新出错修复指引

更新出错后,您可以参考本指引进行修复。

  1. 到数据库找到pes_option表,将版本号调整为上一个版本。例如现在是: 1.3.13 ,您调整为 1.3.12 。
  2. 将整个软件项目给予写入的权限。
  3. 再次进入升级页面,点击自动升级。
  4. 若还是升级失败,继续将版本号回滚。并在页面中将升级补丁下载到本地。如下图所示
    image.png
  5. 解压升级补丁,参考本文手工升级流程。

若安装上述流程仍旧无法完成升级,建议回滚备份数据库,然后根据上述流程赋予整个目录写入权限并再次执行升级。

除此之外,打开程序LOG目录,获取程序执行错误的信息。

1 人点赞过