很多老站长到现在还留着一个用 Discuz X1.5 建的论坛,甚至不少人下载源码包时,看到 Discuz_X1.5_SC_UTF8 这个文件名还一头雾水,不知道里面每段字符分别代表什么意思,更不清楚部署时要用什么环境才能顺利跑起来。这个版本我当年帮人搭过不少次,说它是“老古董”有点过分,但在兼容性上确实需要多花点心思。这篇就把从部署到配置的完整流程梳理一遍,重点照顾第一次接触新手,也会把安装过程中几个高频报错单独拉出来讲讲,比如 MySQL 字符集配置报 unknown variable、GBK 旧数据怎么转 UTF8 这类问题。
如果你是拿来练手、做历史项目维护或离线数据迁移,这篇文章可以直接照着操作;如果你是想拿已经停止更新的老版本直接上线对外服务,我的建议是先建好隔离环境、做好权限收紧,不要裸奔在公网上。下面正式进入实操环节。
1. 拿到安装包的第一步:先给 X1.5 SC UTF8 做个身份拆解
1.1 版本代号里藏着哪些关键信息
文件名 Discuz_X1.5_SC_UTF8 看起来就是一串代号,但读完它,你基本就能判断这套程序该装到什么环境里。
- Discuz:论坛系统本身,曾经在国内社区建站领域非常普及,很多站点到现在还在沿用相关代码和思路。
- X1.5:这是一条比较早期的产品线版本。它和后来的 X2、X3 等版本在架构上有延续关系,但也保留了很多早期特征,比如对 PHP 版本较为挑剔、依赖 UCenter 做用户中心。
- SC:简体中文语言包标识。对应版本还有 TC(繁体中文)、EN(英文)等。看到 SC 就说明后台界面和默认模板语言包以简体中文为主。
- UTF8:文件编码和默认数据库字符集方向,指的是程序文件使用 UTF-8 编码,安装时也会引导你建 UTF8 的数据库。
把这段拆完你就明白,标题真正要解决的问题是:怎样让一套用 UTF-8 编码写的简体中文 Discuz 老论坛程序,在新老环境里都能正常安装、访问和继续维护。
1.2 第一道选择题:为什么推荐 UTF8 而不是 GBK
当年 Discuz 下载页通常同时提供 GBK 和 UTF8 两种编码包,这让很多新手犯了选择困难症。我这些年维护老站的经验是:除非你有确定的 GBK 历史数据要对接,否则新部署选 UTF8 是更稳妥的做法。
原因不复杂。UTF8 是全球通用的编码方案,不只覆盖简体中文,对繁体中文、英文、日文等多语言内容也能统一存储,不会出现“换个语言就乱码”的尴尬。而 GBK 是面向简体中文环境的本地编码,在老站里很常见,但数据库、程序文件、浏览器任何一环没对齐,就容易出现“后台正常、前台乱码”的经典问题。
我也遇到过不少用户,建站时随手选了 GBK,后面想做多语言或接第三方接口,发现编码处处碍事,再转 UTF8 就非常痛苦。所以如果你没有非用 GBK 不可的历史包袱,直接上 UTF8 版本,可以省掉后面一长串麻烦。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 用对 PHP 和 MySQL 环境,老版本也能顺跑
2.1 PHP 版本选择:别拿新环境硬套老程序
X1.5 的开发年代对应 PHP 5.x 时代。在 PHP 5.2 到 5.6 这个区间里跑,程序兼容性最稳定;如果放到 PHP 7 及以上,很多老函数的写法、构造函数调用方式都会触发报错,最常见的结果就是安装页能打开、点下一步就白屏,或者后台某些功能直接 500。
所以你问我“X1.5 怎么用”,第一句回答不是教你怎么点安装向导,而是先确认 PHP 环境。如果你用的是集成面板,记得把 PHP 版本切到 5.x 的某个版本再部署。要是服务器上只有 PHP 7 以上版本,建议要么找一台能装旧版本 PHP 的机器,要么用容器方式隔离一个 PHP 5.x 环境出来,不要在只支持新版本 PHP 的环境里硬装 X1.5。
我自己习惯的参考组合是 PHP 5.3 或 5.6 搭配 MySQL 5.5/5.6,只要扩展齐全,安装和日常运行都相对省心。老程序对 MySQL 8 这种较新版本反而容易因为账号认证插件、字符集默认值不同而碰壁,能避开就避开。
