这是什么
Phase 1「经典复活」里程碑。老黄 2020 年封存的法拉利,六年后在 PHP 8 上重新点火:全链路实测通过,一行 UI 没动,一张表结构没改,存量老站无损升级。
核心变化
- 数据库驱动
db_mysql从 mysql_* 扩展(PHP 7.0 已移除)整体移植到 mysqli,接口与行为保持不变;老配置里的'type' => 'mysql'自动使用新驱动,无需修改 - 恢复 PDO 与 mysqli 在 PHP 8 下的静默错误语义(PHP 8.0/8.1 起默认抛异常,与框架的 errno 契约冲突)
- 切除全部 magic_quotes 残留,含内置 PHPMailer 里一处会在 PHP 8 发附件时致命的调用
- 默认字符集全面 utf8mb4,emoji 开箱即用;附带存量老站一键升级脚本
- 装机流程建库分支重写为 mysqli,并修复一处 strpos 参数顺序的原版 bug
- 打包器
tool/merge.php的脆弱 substr 魔数替换为健壮的标签剥离
验证
PHP 8.3 + MariaDB 10.11 完整旅程实测:全新装机 → 登录 → 发帖(含 emoji )→ 回帖,E_ALL 级别错误日志全程为空;96 个 PHP 文件语法全过;PHP 8.4 特有弃用模式(隐式可空类型、mysqli_ping、E_STRICT)静态排查清零。运行时实测环境为 8.3,8.4 为静态验证。
老站升级(4.0.4 → 5.0.0-alpha)
- 备份数据库和站点文件(必须!)
- 用本版本代码整体替换,保留你的
conf/conf.php - 执行
install/upgrade_4.0.4_to_5.0_utf8mb4.sql(先按脚本内说明替换表前缀与库名) - 环境要求:PHP 8.x,MySQL 5.7+ / MariaDB 10.2+
全新安装
上传后访问 install/ 按向导操作,与 4.x 一致。
Alpha 声明
这是 alpha 版本:核心链路已实测,但边缘功能(邮件发送、附件上传、第三方插件生态)尚未逐一验证。生产环境请先测试,问题请提 Issue。
下一站
Phase 2「时代层」:MCP 接口(AI 代理读帖、发帖、管理)、I-Lang 规范输出层、AI 版主、SQLite 单文件模式。全部以插件形态实现,内核保持轻、快、零侵入。
上传的附件
-
[bbs.xiuno.org]xiunobbs-5.0.0-alpha.zip1 声望