更新程序
功能说明
PESCMS系列软件均有升级程序。一般来说更新程序入口位于:系统设置 —— 基础设置 —— 点击版本号。
若您找不到升级入口,可以直接在浏览器输入如下相对URL:/?g=Create&m=Setting&a=upgrade
例如您的域名为 example.com 。你在浏览器输入 example.com/?g=Create&m=Setting&a=upgrade
重要提醒
- 程序升级存在数据丢失风险,请您在执行任何升级流程前,先对程序的数据库、代码进行备份!
- 因升级导致程序异常,数据丢失的。PESCMS官方不负任何责任。
- 请确保您的网络和软件运行的服务器能够正确访问PESCMS网站。请使用ping命令检测,如下图所示:
自动升级
PESCMS系列软件都集成了自动升级模块。在使用自动升级前,请确保您当前网络能够正常链接PESCMS官网,同时也要确保您部署PESCMS系列软件的服务器也能正常链接PESCMS。
确保上述信息无误后,执行如下步骤进入自动升级:
-
登录软件的管理员帐号。此帐号必须具备高级权限。推荐使用您安装软件时的初始帐号。
-
依次在后台找到 系统设置 -- 基础设置 -- 点击版本号 进入检查更新程序。
-
进入检查更新程序,如果当前有更新发布,可以看到更新的内容。如下图所示:
-
点击执行自动更新程序即马上执行更新动作了。
- 自动更新会自动更新到最新版!若您只想更新一个版本,请选择手动更新。
手动升级
若您因网络问题或者自动升级一直失败。可以使用手工升级模式。流程如下:
- 参考自动升级流程,您需要先进入检查更新界面。
- 在检查更新界面,程序会提供一个下载更新按钮。如下图所示:
- 将补丁下载到您本地后,再点击导入zip升级包按钮,如下图所示:
- 点击手动安装更新按钮,等待更新程序完成。
解除手动升级验证限制
出于安全考虑,手动导入的补丁会与PESCMS官网进行一次补丁校验。非PESCMS官方发布的补丁将无法执行解压程序。
若您的服务器无法链接PESCMS服务器,那么您需要修改升级代码,解除此限制:
-
定位到 PUT/Setting.php 文件。
- Ticket此文件在 App/Ticket/PUT/Setting.php
- Team此文件在App/Team/PUT/Setting.php
- Doc此文件在App/Create/PUT/Setting.php
-
打开Setting.php文件并找到mtUpgrade()方法。将下图选中的业务逻辑删除:
-
代码修改完毕并保存后,再次执行手动升级的流程。
程序升级完毕后,请务必恢复刚才删除的业务代码。具体安全隐患请参考:https://github.com/lazyphp/PESCMS-TEAM/issues/2
手工升级
自动升级和手动升级您到失败了,那么您需要选择手工升级了。手工升级很简单,根据如下流程执行即可:
-
下载补丁到您的电脑。并将补丁解压。
-
将解压得到的文件,一一对应地上传到服务器,覆盖文件。
-
文件覆盖完毕后,打开Upgrade/sql目录。可以看到以版本命名得x.x.x.sql。如下图所示:
-
用编辑器打开对应版本的.sql文件。并复制文件的代码,到数据库中执行,如下图:
-
SQL执行成功后,打开option表,将对表中的version修改为当前最新的版本号。如下图所示:
更新出错修复指引
更新出错后,您可以参考本指引进行修复。
- 到数据库找到pes_option表,将版本号调整为上一个版本。例如现在是: 1.3.13 ,您调整为 1.3.12 。
- 将整个软件项目给予写入的权限。
- 再次进入升级页面,点击自动升级。
- 若还是升级失败,继续将版本号回滚。并在页面中将升级补丁下载到本地。如下图所示
- 解压升级补丁,参考本文手工升级流程。
若安装上述流程仍旧无法完成升级,建议回滚备份数据库,然后根据上述流程赋予整个目录写入权限并再次执行升级。
除此之外,打开程序LOG目录,获取程序执行错误的信息。