门户系统PHP8.2-安装包(本站源码)
# 门户系统(PHP 8.2 自建版)
一套面向企业门户的轻量建站系统,**前后端一体、MySQL 数据库、用户分级与权限管理、一键数据备份、可持续版本升级**。
原生 PHP 8.2 + PDO(无框架、无外部依赖),可直接部署到虚拟主机 / 云服务器 / 宝塔面板。
---
## 一、功能特性
- **下载功能**:下载资源(本地上传或外链),含版本、大小、下载次数统计;可设「需登录才能下载」。
- **展示功能**:产品展示(图文卡片)、资讯文章(列表 + 详情),产品与资讯分模块独立管理。
- **前台模块化**:首页模块(首屏欢迎 / 下载精选 / 产品展示 / 最新资讯)可开关、可上移/下移排序,所见即所得。
- **站点外观**:站点名称/副标题/主色、**站点图标与 Logo 上传**、**字体上传与正文字体/标题字体切换**、页脚自定义(支持 `[文字](链接)` 语法)、**ICP 与公安备案号预留**。
- **后台管理**:仪表盘、下载/产品/资讯内容 CRUD、分类管理、用户与角色管理、站点与模块设置、数据备份。
- **用户分级**:`admin`(超级)/ `editor`(内容编辑)/ `member`(注册会员)/ `viewer`(游客),按权限访问后台。
- **数据备份**:后台一键导出全库 SQL,可下载到本地,也可在服务器留存备份文件。
- **系统升级**:后台「系统升级」页支持上传标准升级包(zip)完成版本升级,自动备份数据库与被覆盖文件,失败自动回滚。
## 二、环境要求
| 项目 | 要求 |
| ---- | ------------------------------------ |
| PHP | 8.0+(推荐 8.2) |
| 数据库 | MySQL 5.7+ / MariaDB 10+ / MySQL 8 |
| 必装扩展 | `pdo_mysql`、`fileinfo`;`gd`(可选,图片处理) |
| 可写目录 | `data/uploads/`、`data/backups/` |
## 三、安装步骤
> 安装包内**不含** `config.php`。上传后直接访问站点,系统会自动跳转到安装向导;也可手动访问 `/install/`。
### 1. 准备数据库
在主机商面板 / 宝塔中**先建好数据库**,记下四项信息:
- 数据库主机(多数虚拟主机为 `localhost` 或 `127.0.0.1`)
- 数据库名(如 `portal`)
- 数据库用户名
- 数据库密码
### 2. 上传文件
把解压后的全部文件上传到站点根目录(如 `wwwroot/love/`),确保 `data/uploads/`、`data/backups/` 可写(通常默认可写;若为 Linux 服务器,`chmod -R 755 data` 即可)。
### 3. 运行安装向导
浏览器访问 `http://你的域名/install/`(直接访问首页也会自动跳转)。
填写数据库信息与管理员账号密码(管理员密码至少 6 位),点击「开始安装」:
- 安装程序会**优先直接连接目标数据库**(大多数主机商已建好库);若库不存在,会尝试自动建库。
- 自动导入表结构、生成 `config.php`、创建管理员账号。
### 4. 完成安装
看到「安装完成」后,**务必删除服务器上的 `/install/` 目录**(重要安全项)。
- 前台:`http://你的域名/`
- 后台:`http://你的域名/admin/`
## 四、目录结构
```
/
├─ config.php # 数据库与应用配置(安装向导自动生成)
├─ config.sample.php # 手动配置模板(复制为 config.php 并改参数)
├─ index.php # 前台入口
├─ models.php # 数据模型
├─ admin/index.php # 后台入口
├─ install/ # 安装向导(安装完成后请删除)
├─ core/
│ ├─ db.php # PDO 数据库封装(含连接失败引导安装)
│ ├─ auth.php # 登录 / 角色分级 / CSRF
│ ├─ backup.php # 数据备份导出
│ ├─ upgrader.php # 系统升级器
│ └─ view.php # 模板渲染 + 公共函数
├─ templates/
│ ├─ front/ # 前台模板(home/downloads/products/posts/login/register…)
│ └─ admin/ # 后台模板(dashboard/content/users/settings/backup/upgrade…)
├─ assets/css|js/ # 前端样式与脚本
└─ data/
├─ uploads/ # 上传文件(图标、Logo、下载资源等)
└─ backups/ # SQL 备份文件
```
## 五、后台使用
登录 `域名/admin/` 后按角色显示功能菜单。
- **内容管理(editor 及以上)**:下载资源、产品、资讯的增删改查,分类管理。
- **站点设置(editor 及以上)**:
- 站点名称 / 副标题 / 主色 / 联系方式 / 署名
- 站点图标、Logo 上传(上传后自动替换旧文件)
- 正文字体 / 标题字体下拉切换(内置 6 种系统字体 + 已上传的自定义字体),基准字号 14–20px
- 字体文件上传(woff2 / woff / ttf / otf),已上传字体列表可勾选删除
- 页脚内容,支持 `[文字](链接)` 语法:`联系我们 [企业官网](https://example.com)`、`[服务邮箱](mailto:support@example.com)`
- ICP 备案号、公安备案号(自动渲染为官方备案查询链接)
- 首页模块开关与排序(上移/下移)
- **用户与角色(admin)**:新增/编辑/删除用户,分配角色。
- **数据备份(editor 及以上)**:「立即下载当前数据」导出 SQL;「在服务器生成备份文件」留档;列表可下载历史备份。
- **系统升级(editor 及以上)**:查看当前版本与数据库版本,上传升级包(zip)完成升级。
## 六、系统升级
升级包为 zip,结构约定:
```
upgrade-1.1.1.zip
├─ upgrade.json # {"version":"1.1.1","note":"升级说明","changelog":["- 更新内容"]}
├─ files/ # 需覆盖/新增的文件(不得包含 config.php、data、install、tools)
└─ migrations/ # 可选,SQL 迁移脚本,按文件名顺序执行
```
在后台「系统升级」页上传即可。升级过程自动:备份数据库与被覆盖文件 → 覆盖代码 → 执行迁移 SQL → 同步版本号 → 记录升级日志;失败自动回滚。
## 七、常见问题
**Q1:安装时报 `Access denied for user 'xxx'@'...'`**
数据库账号/密码/主机名不对,或该账号没有被授权访问目标数据库。回到主机商面板核对四项信息;务必用「先建库再安装」的方式。
**Q2:访问首页跳到 `/install/` 或提示「系统尚未安装」**
说明根目录缺少 `config.php`(安装包默认不含)。完成 `/install/` 安装即可生成。
**Q3:安装后页面报「数据库连接失败」**
检查根目录 `config.php` 中的主机/库名/账号/密码,确认 MySQL 服务已启动、账号具备该库权限;若已删 `/install/` 目录将不再自动跳转,直接显示错误页。
**Q4:`data/uploads`、`data/backups` 不可写(Linux 报错)**
执行 `chmod -R 755 data` 或将目录属主改为运行用户(`chown -R www:www data`)。
**Q5:上传字体/图标失败**
确认 `php.ini` 的 `upload_max_filesize` 与 `post_max_size` 足够大;确认 `data/uploads/` 可写。
## 八、安全建议
- 安装完成后**删除 `/install/` 目录**。
- 数据库账号仅授予必要权限,不要使用 root。
- 后台默认账号务必修改为强密码;为管理员账号开启会话安全(Cookie HttpOnly + SameSite=Lax 已默认开启)。
- `data/` 子目录已放置 `index.html` 防止列目录;如需更强保护可在 `data/` 下添加 `.htaccess` 限制访问。
- 定期在后台「数据备份」导出并下载 SQL,异地留存。
## 九、版本
## 一、版本演进一览
| 版本 | 核心变更 |
| ------ | ----------------------------------------------------------------------------------------------- |
| v1.1.0 | 初始版本:安装向导、前后台 CRUD、分类、用户角色、数据备份、系统升级器 |
| v1.2.0 | 后台可视化导航栏设置(关联首页模块/独立页/自定义链接);修复登录跳转双重前缀;升级器纯 PHP 解压(免 php_zip);32 位 PHP CRC 误判修复;后台列表只显示隐藏内容修复 |
| v1.3.0 | 资讯文章多媒体:封面图 / 内容图片画廊 / 短视频(上传+外链)/ 关联下载中心;修复 BASE_URL 尾随反斜杠(Windows);修复前台资讯/产品列表 `$total` 未定义警告 |
| v1.3.1 | 修复前台详情页不显示内容摘要;封面图支持删除(勾选删除 / 重新上传覆盖 / 清空 URL 均清理本地文件) |
---
## 二、源码目录(开发主代码,非交付物)
| 位置 | 说明 |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `G:\WorkBuddy资料\门户系统PHP8.2\` | 当前 **v1.3.1** 完整源码,含 `tools/make_install_pack.php`(全量安装包脚本)、`tools/make_upgrade_pack.php`(升级包脚本)、`tools/migrations/`(迁移 SQL:`120_nav.sql`、`130_post_media.sql`) |
| `G:\WorkBuddy资料\门户系统PHP8.2\portal_upgrade_1.2.0.zip` 等 | 打包过程的英文名中间产物,与同版本中文名升级包内容一致,可删除 |
---
## 三、全量安装包(全新部署用)
| 文件 | 版本 | 大小 | MD5 | 状态 |
| ------------------------- | ----- | ------ | ---------------------------------- | ---------- |
| 门户系统PHP8.2-安装包-v1.3.1.zip | 1.3.1 | 67,366 | `c58c65984e3d8a165fcf7b9d9a5b62f7` | ✅ **当前有效** |
| 门户系统PHP8.2-安装包-v1.3.0.zip | 1.3.0 | 67,119 | `27dccaae480c5e6e4ff69583bf560c50` | 已过时 |
| 门户系统PHP8.2-安装包-v1.2.0.zip | 1.2.0 | 63,340 | `b3add991b3e9298dd1a488be681f9c21` | 已过时 |
| 门户系统PHP8.2-安装包-v1.1.0.zip | 1.1.0 | 57,840 | `e44e4c4d81d047121b73e760ad5a4b0f` | 已过时 |
> 安装包内不含 `config.php`,上传后访问站点自动跳转安装向导。
---
## 四、升级包(老版本站点原地升级用)
| 文件 | 适用对象 | 大小 | MD5 | 状态 |
| -------------------------------- | --------------- | ------ | ---------------------------------- | ------------------ |
| 门户系统PHP8.2-升级包-v1.3.0至v1.3.1.zip | v1.3.0 → v1.3.1 | 62,626 | `32f4282ef7cb7d9c8083457cbc236ded` | ✅ **当前有效**(无数据库变更) |
| 门户系统PHP8.2-升级包-v1.2.0至v1.3.0.zip | v1.2.0 → v1.3.0 | 62,807 | `b90293474ae2936ba9fa157ce385cd00` | 已过时(含 posts 表迁移) |
| 门户系统PHP8.2-升级包-v1.1.0至v1.2.0.zip | v1.1.0 → v1.2.0 | 59,232 | `fdc0658f608b96c12049c2b1899c999e` | 已过时(含 nav 表迁移) |
> 升级包均含 `upgrade.json` 清单 + 被覆盖文件 + 迁移 SQL,失败自动回滚。
> 老站点升级路径需**逐版本链式升级**:`v1.1.0 → v1.2.0 → v1.3.0 → v1.3.1`。
---
## 五、单文件 FTP 补丁(紧急修复用,均已合入正式版本)
| 文件 | 修复问题 | MD5 | 状态 |
| -------------------------------------- | --------------------------------------------- | ---------------------------------- | ----------- |
| 门户系统PHP8.2-补丁-core-upgrader-免zip扩展.php | 服务器无 `php_zip` 扩展时升级包无法解压(纯 PHP 解压 + CRC 校验) | `f7dfbebf0cf87ccae3ff4e18a4897303` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-front-header-详情页报错修复.php | 前台详情页大量 Undefined array key 警告(header 循环变量覆盖) | `d3e6bb3072c85d02bbaa9d815af9026c` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-models-后台列表显示全部.php | 后台列表只显示隐藏内容(status 过滤写死) | `12e62e5028f4997f507880a599bbd64e` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-admin-index-后台列表显示全部.php | 配合 models 补丁,后台调用改为 `list(50,0,-1)` | `9942b34c18667c474b3b137372173adf` | 已合入 v1.2.0+ |
> 以上补丁覆盖方式为 FTP 覆盖对应文件,为一次性应急手段,新部署无需再打。
---
## 六、其他相关 / 无关产物
| 文件 | 说明 | MD5 |
| ------------------- | --------------------------------------- | ---------------------------------- |
| `门户系统PHP8.2.zip` | 开发初期(v1.1.0 之前)源码快照,含 config.php,共 40 项 | `0786b762b0593f36a3746659f530d3ec` |
| `采购管理系统-NAS部署包.zip` | 另一独立项目(采购管理系统),与门户系统无关 | `680daee92f223d9edace562814833a4b` |
---
## 七、部署速查
- **全新部署**:解压 `门户系统PHP8.2-安装包-v1.3.1.zip` 到 Web 根目录 → 访问 `/install/` 走安装向导。
- **服务器已是 v1.3.0**:后台「系统升级」上传 `升级包-v1.3.0至v1.3.1.zip` 即完成。
- **服务器为更早版本**:按 `v1.1.0 → v1.2.0 → v1.3.0 → v1.3.1` 依次上传对应升级包。
- **遇到升级包无法解压**:需服务器有 `php_zip` 扩展,或用 v1.3.1 源码中已内建的纯 PHP 解压逻辑(无需再打补丁)。
---
## 八、可清理项(建议)
以下产物已被最新版本完整涵盖,可归档或删除以保持目录整洁:
- 全部旧版安装包(v1.1.0 / v1.2.0 / v1.3.0)
- 全部旧版升级包(v1.1.0→v1.2.0、v1.2.0→v1.3.0)
- 全部 4 个单文件补丁
- 源码快照 `门户系统PHP8.2.zip`
- 源码目录内 3 个英文名中间产物 `portal_upgrade_*.zip`
一套面向企业门户的轻量建站系统,**前后端一体、MySQL 数据库、用户分级与权限管理、一键数据备份、可持续版本升级**。
原生 PHP 8.2 + PDO(无框架、无外部依赖),可直接部署到虚拟主机 / 云服务器 / 宝塔面板。
---
## 一、功能特性
- **下载功能**:下载资源(本地上传或外链),含版本、大小、下载次数统计;可设「需登录才能下载」。
- **展示功能**:产品展示(图文卡片)、资讯文章(列表 + 详情),产品与资讯分模块独立管理。
- **前台模块化**:首页模块(首屏欢迎 / 下载精选 / 产品展示 / 最新资讯)可开关、可上移/下移排序,所见即所得。
- **站点外观**:站点名称/副标题/主色、**站点图标与 Logo 上传**、**字体上传与正文字体/标题字体切换**、页脚自定义(支持 `[文字](链接)` 语法)、**ICP 与公安备案号预留**。
- **后台管理**:仪表盘、下载/产品/资讯内容 CRUD、分类管理、用户与角色管理、站点与模块设置、数据备份。
- **用户分级**:`admin`(超级)/ `editor`(内容编辑)/ `member`(注册会员)/ `viewer`(游客),按权限访问后台。
- **数据备份**:后台一键导出全库 SQL,可下载到本地,也可在服务器留存备份文件。
- **系统升级**:后台「系统升级」页支持上传标准升级包(zip)完成版本升级,自动备份数据库与被覆盖文件,失败自动回滚。
## 二、环境要求
| 项目 | 要求 |
| ---- | ------------------------------------ |
| PHP | 8.0+(推荐 8.2) |
| 数据库 | MySQL 5.7+ / MariaDB 10+ / MySQL 8 |
| 必装扩展 | `pdo_mysql`、`fileinfo`;`gd`(可选,图片处理) |
| 可写目录 | `data/uploads/`、`data/backups/` |
## 三、安装步骤
> 安装包内**不含** `config.php`。上传后直接访问站点,系统会自动跳转到安装向导;也可手动访问 `/install/`。
### 1. 准备数据库
在主机商面板 / 宝塔中**先建好数据库**,记下四项信息:
- 数据库主机(多数虚拟主机为 `localhost` 或 `127.0.0.1`)
- 数据库名(如 `portal`)
- 数据库用户名
- 数据库密码
### 2. 上传文件
把解压后的全部文件上传到站点根目录(如 `wwwroot/love/`),确保 `data/uploads/`、`data/backups/` 可写(通常默认可写;若为 Linux 服务器,`chmod -R 755 data` 即可)。
### 3. 运行安装向导
浏览器访问 `http://你的域名/install/`(直接访问首页也会自动跳转)。
填写数据库信息与管理员账号密码(管理员密码至少 6 位),点击「开始安装」:
- 安装程序会**优先直接连接目标数据库**(大多数主机商已建好库);若库不存在,会尝试自动建库。
- 自动导入表结构、生成 `config.php`、创建管理员账号。
### 4. 完成安装
看到「安装完成」后,**务必删除服务器上的 `/install/` 目录**(重要安全项)。
- 前台:`http://你的域名/`
- 后台:`http://你的域名/admin/`
## 四、目录结构
```
/
├─ config.php # 数据库与应用配置(安装向导自动生成)
├─ config.sample.php # 手动配置模板(复制为 config.php 并改参数)
├─ index.php # 前台入口
├─ models.php # 数据模型
├─ admin/index.php # 后台入口
├─ install/ # 安装向导(安装完成后请删除)
├─ core/
│ ├─ db.php # PDO 数据库封装(含连接失败引导安装)
│ ├─ auth.php # 登录 / 角色分级 / CSRF
│ ├─ backup.php # 数据备份导出
│ ├─ upgrader.php # 系统升级器
│ └─ view.php # 模板渲染 + 公共函数
├─ templates/
│ ├─ front/ # 前台模板(home/downloads/products/posts/login/register…)
│ └─ admin/ # 后台模板(dashboard/content/users/settings/backup/upgrade…)
├─ assets/css|js/ # 前端样式与脚本
└─ data/
├─ uploads/ # 上传文件(图标、Logo、下载资源等)
└─ backups/ # SQL 备份文件
```
## 五、后台使用
登录 `域名/admin/` 后按角色显示功能菜单。
- **内容管理(editor 及以上)**:下载资源、产品、资讯的增删改查,分类管理。
- **站点设置(editor 及以上)**:
- 站点名称 / 副标题 / 主色 / 联系方式 / 署名
- 站点图标、Logo 上传(上传后自动替换旧文件)
- 正文字体 / 标题字体下拉切换(内置 6 种系统字体 + 已上传的自定义字体),基准字号 14–20px
- 字体文件上传(woff2 / woff / ttf / otf),已上传字体列表可勾选删除
- 页脚内容,支持 `[文字](链接)` 语法:`联系我们 [企业官网](https://example.com)`、`[服务邮箱](mailto:support@example.com)`
- ICP 备案号、公安备案号(自动渲染为官方备案查询链接)
- 首页模块开关与排序(上移/下移)
- **用户与角色(admin)**:新增/编辑/删除用户,分配角色。
- **数据备份(editor 及以上)**:「立即下载当前数据」导出 SQL;「在服务器生成备份文件」留档;列表可下载历史备份。
- **系统升级(editor 及以上)**:查看当前版本与数据库版本,上传升级包(zip)完成升级。
## 六、系统升级
升级包为 zip,结构约定:
```
upgrade-1.1.1.zip
├─ upgrade.json # {"version":"1.1.1","note":"升级说明","changelog":["- 更新内容"]}
├─ files/ # 需覆盖/新增的文件(不得包含 config.php、data、install、tools)
└─ migrations/ # 可选,SQL 迁移脚本,按文件名顺序执行
```
在后台「系统升级」页上传即可。升级过程自动:备份数据库与被覆盖文件 → 覆盖代码 → 执行迁移 SQL → 同步版本号 → 记录升级日志;失败自动回滚。
## 七、常见问题
**Q1:安装时报 `Access denied for user 'xxx'@'...'`**
数据库账号/密码/主机名不对,或该账号没有被授权访问目标数据库。回到主机商面板核对四项信息;务必用「先建库再安装」的方式。
**Q2:访问首页跳到 `/install/` 或提示「系统尚未安装」**
说明根目录缺少 `config.php`(安装包默认不含)。完成 `/install/` 安装即可生成。
**Q3:安装后页面报「数据库连接失败」**
检查根目录 `config.php` 中的主机/库名/账号/密码,确认 MySQL 服务已启动、账号具备该库权限;若已删 `/install/` 目录将不再自动跳转,直接显示错误页。
**Q4:`data/uploads`、`data/backups` 不可写(Linux 报错)**
执行 `chmod -R 755 data` 或将目录属主改为运行用户(`chown -R www:www data`)。
**Q5:上传字体/图标失败**
确认 `php.ini` 的 `upload_max_filesize` 与 `post_max_size` 足够大;确认 `data/uploads/` 可写。
## 八、安全建议
- 安装完成后**删除 `/install/` 目录**。
- 数据库账号仅授予必要权限,不要使用 root。
- 后台默认账号务必修改为强密码;为管理员账号开启会话安全(Cookie HttpOnly + SameSite=Lax 已默认开启)。
- `data/` 子目录已放置 `index.html` 防止列目录;如需更强保护可在 `data/` 下添加 `.htaccess` 限制访问。
- 定期在后台「数据备份」导出并下载 SQL,异地留存。
## 九、版本
## 一、版本演进一览
| 版本 | 核心变更 |
| ------ | ----------------------------------------------------------------------------------------------- |
| v1.1.0 | 初始版本:安装向导、前后台 CRUD、分类、用户角色、数据备份、系统升级器 |
| v1.2.0 | 后台可视化导航栏设置(关联首页模块/独立页/自定义链接);修复登录跳转双重前缀;升级器纯 PHP 解压(免 php_zip);32 位 PHP CRC 误判修复;后台列表只显示隐藏内容修复 |
| v1.3.0 | 资讯文章多媒体:封面图 / 内容图片画廊 / 短视频(上传+外链)/ 关联下载中心;修复 BASE_URL 尾随反斜杠(Windows);修复前台资讯/产品列表 `$total` 未定义警告 |
| v1.3.1 | 修复前台详情页不显示内容摘要;封面图支持删除(勾选删除 / 重新上传覆盖 / 清空 URL 均清理本地文件) |
---
## 二、源码目录(开发主代码,非交付物)
| 位置 | 说明 |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `G:\WorkBuddy资料\门户系统PHP8.2\` | 当前 **v1.3.1** 完整源码,含 `tools/make_install_pack.php`(全量安装包脚本)、`tools/make_upgrade_pack.php`(升级包脚本)、`tools/migrations/`(迁移 SQL:`120_nav.sql`、`130_post_media.sql`) |
| `G:\WorkBuddy资料\门户系统PHP8.2\portal_upgrade_1.2.0.zip` 等 | 打包过程的英文名中间产物,与同版本中文名升级包内容一致,可删除 |
---
## 三、全量安装包(全新部署用)
| 文件 | 版本 | 大小 | MD5 | 状态 |
| ------------------------- | ----- | ------ | ---------------------------------- | ---------- |
| 门户系统PHP8.2-安装包-v1.3.1.zip | 1.3.1 | 67,366 | `c58c65984e3d8a165fcf7b9d9a5b62f7` | ✅ **当前有效** |
| 门户系统PHP8.2-安装包-v1.3.0.zip | 1.3.0 | 67,119 | `27dccaae480c5e6e4ff69583bf560c50` | 已过时 |
| 门户系统PHP8.2-安装包-v1.2.0.zip | 1.2.0 | 63,340 | `b3add991b3e9298dd1a488be681f9c21` | 已过时 |
| 门户系统PHP8.2-安装包-v1.1.0.zip | 1.1.0 | 57,840 | `e44e4c4d81d047121b73e760ad5a4b0f` | 已过时 |
> 安装包内不含 `config.php`,上传后访问站点自动跳转安装向导。
---
## 四、升级包(老版本站点原地升级用)
| 文件 | 适用对象 | 大小 | MD5 | 状态 |
| -------------------------------- | --------------- | ------ | ---------------------------------- | ------------------ |
| 门户系统PHP8.2-升级包-v1.3.0至v1.3.1.zip | v1.3.0 → v1.3.1 | 62,626 | `32f4282ef7cb7d9c8083457cbc236ded` | ✅ **当前有效**(无数据库变更) |
| 门户系统PHP8.2-升级包-v1.2.0至v1.3.0.zip | v1.2.0 → v1.3.0 | 62,807 | `b90293474ae2936ba9fa157ce385cd00` | 已过时(含 posts 表迁移) |
| 门户系统PHP8.2-升级包-v1.1.0至v1.2.0.zip | v1.1.0 → v1.2.0 | 59,232 | `fdc0658f608b96c12049c2b1899c999e` | 已过时(含 nav 表迁移) |
> 升级包均含 `upgrade.json` 清单 + 被覆盖文件 + 迁移 SQL,失败自动回滚。
> 老站点升级路径需**逐版本链式升级**:`v1.1.0 → v1.2.0 → v1.3.0 → v1.3.1`。
---
## 五、单文件 FTP 补丁(紧急修复用,均已合入正式版本)
| 文件 | 修复问题 | MD5 | 状态 |
| -------------------------------------- | --------------------------------------------- | ---------------------------------- | ----------- |
| 门户系统PHP8.2-补丁-core-upgrader-免zip扩展.php | 服务器无 `php_zip` 扩展时升级包无法解压(纯 PHP 解压 + CRC 校验) | `f7dfbebf0cf87ccae3ff4e18a4897303` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-front-header-详情页报错修复.php | 前台详情页大量 Undefined array key 警告(header 循环变量覆盖) | `d3e6bb3072c85d02bbaa9d815af9026c` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-models-后台列表显示全部.php | 后台列表只显示隐藏内容(status 过滤写死) | `12e62e5028f4997f507880a599bbd64e` | 已合入 v1.2.0+ |
| 门户系统PHP8.2-补丁-admin-index-后台列表显示全部.php | 配合 models 补丁,后台调用改为 `list(50,0,-1)` | `9942b34c18667c474b3b137372173adf` | 已合入 v1.2.0+ |
> 以上补丁覆盖方式为 FTP 覆盖对应文件,为一次性应急手段,新部署无需再打。
---
## 六、其他相关 / 无关产物
| 文件 | 说明 | MD5 |
| ------------------- | --------------------------------------- | ---------------------------------- |
| `门户系统PHP8.2.zip` | 开发初期(v1.1.0 之前)源码快照,含 config.php,共 40 项 | `0786b762b0593f36a3746659f530d3ec` |
| `采购管理系统-NAS部署包.zip` | 另一独立项目(采购管理系统),与门户系统无关 | `680daee92f223d9edace562814833a4b` |
---
## 七、部署速查
- **全新部署**:解压 `门户系统PHP8.2-安装包-v1.3.1.zip` 到 Web 根目录 → 访问 `/install/` 走安装向导。
- **服务器已是 v1.3.0**:后台「系统升级」上传 `升级包-v1.3.0至v1.3.1.zip` 即完成。
- **服务器为更早版本**:按 `v1.1.0 → v1.2.0 → v1.3.0 → v1.3.1` 依次上传对应升级包。
- **遇到升级包无法解压**:需服务器有 `php_zip` 扩展,或用 v1.3.1 源码中已内建的纯 PHP 解压逻辑(无需再打补丁)。
---
## 八、可清理项(建议)
以下产物已被最新版本完整涵盖,可归档或删除以保持目录整洁:
- 全部旧版安装包(v1.1.0 / v1.2.0 / v1.3.0)
- 全部旧版升级包(v1.1.0→v1.2.0、v1.2.0→v1.3.0)
- 全部 4 个单文件补丁
- 源码快照 `门户系统PHP8.2.zip`
- 源码目录内 3 个英文名中间产物 `portal_upgrade_*.zip`
图片
