PHPCMS 2008 是一个非常古老的版本(发布于2008年左右),它已经不再维护,存在严重的安全漏洞,强烈不建议用于任何公开的、生产环境的网站,本教程仅作为学习和了解早期PHP建站技术的参考。

(图片来源网络,侵删)
第一部分:PHPCMS 2008 简介
1 什么是 PHPCMS 2008?
PHPCMS 2008 是一套基于 PHP + MySQL 开发的开源网站管理系统,它以其“内容与程序分离”的理念和强大的标签化模板引擎而闻名,是当时国内非常流行的一款建站程序。
- 核心特点:
- 标签化模板: 这是它最大的特色,通过类似
{template "content", "header"}和{php $this->category(1)}这样的标签,可以完全分离前台页面显示和后台程序逻辑,让不懂PHP的设计师也能轻松修改网站样式。 - 模块化架构: 系统由多个模块组成,如内容模块、会员模块、评论模块、专题模块等,可以按需安装和使用。
- 管理: 支持文章、图片、下载、信息等多种内容模型,并支持自定义字段,灵活性很高。
- 完善的会员系统: 提供会员注册、登录、空间、积分、等级等功能。
- 标签化模板: 这是它最大的特色,通过类似
2 适用场景
- 个人博客/作品集
- 企业展示型网站
- 信息门户/资讯站
- 学习研究早期PHP CMS架构
3 重要提醒:环境与安全
- PHP版本: PHPCMS 2008 设计用于 PHP 5.2.x 版本,在新版(如 PHP 7.x/8.x)的PHP环境中运行可能会遇到各种兼容性问题。
- MySQL版本: 推荐使用 MySQL 5.0 或 5.1。
- 安全风险: 绝对不要将这个版本的网站部署在公网服务器上,因为它没有官方安全更新,极易被黑客攻击,建议在 本地环境(如 XAMPP, WampServer) 中进行学习和测试。
第二部分:安装与初始化
1 环境准备
- 集成软件包: 下载并安装一个本地PHP环境集成包,推荐使用 XAMPP 或 WampServer。
- 下载程序: 从可靠的源下载 PHPCMS 2008 的安装包,可以搜索 “PHPCMS 2008 完整版”。
- 配置环境:
- 确保 Apache/Nginx 和 MySQL 服务都已启动。
- 检查
php.ini文件,确保short_open_tag = On和register_globals = On(这两个选项在旧版PHP中很常见,新版默认为Off,可能导致程序报错)。
2 安装步骤
- 上传文件: 将下载的 PHPCMS 2008 压缩包解压,把所有文件通过 FTP 或直接复制到你的 Web 服务器根目录(如 XAMPP 的
htdocs文件夹)。 - 创建数据库:
- 打开 phpMyAdmin (通常在
http://localhost/phpmyadmin)。 - 创建一个新的数据库,数据库名可以自定义,
phpcms2008。 - 创建一个数据库用户,并授予该用户对新创建数据库的所有权限。
- 打开 phpMyAdmin (通常在
- 运行安装程序:
- 在浏览器中访问
http://localhost/(如果你的文件放在htdocs根目录下)。 - 你会看到安装向导的欢迎界面,点击“同意”并进入下一步。
- 在浏览器中访问
- 填写数据库信息:
- 数据库服务器:
localhost - 数据库用户名: 你在步骤2中创建的用户名
- 数据库密码: 你在步骤2中创建的密码
- 数据库名: 你在步骤2中创建的数据库名(如
phpcms2008) - 数据库表前缀: 可以使用默认的
v9_,如果需要安装多个实例,可以修改以避免冲突。
- 数据库服务器:
- 完成安装:
- 填写完信息后,点击“开始安装”,程序会自动创建数据表并写入初始数据。
- 安装成功后,会提示你删除
install目录。务必删除此目录!
- 首次登录:
- 访问你的网站首页,应该能看到默认的 PHPCMS 模板。
- 访问
http://localhost/admin进入后台管理界面。 - 初始管理员账号:
admin - 初始管理员密码:
123456(或根据安装包提示的密码) - 首次登录后,请立即修改默认密码!
第三部分:后台核心功能详解
登录后台后,你会看到左侧的菜单栏,这是管理网站的核心。
1 内容管理
这是网站的“血肉”,用于发布和管理所有信息。
-
内容频道管理:
(图片来源网络,侵删)- 作用:创建和管理网站的不同栏目,如“公司新闻”、“产品中心”、“关于我们”等。
- 操作: ->
内容频道管理->增加栏目。 - 关键设置:
- 栏目名称: 栏目的标题。
- 栏目类型: 选择“最终栏目”(用于发布内容)或“外部链接”(跳转到其他网址)等。
- 内容模型: 选择栏目的内容类型,如文章、图片、下载等。(非常重要)
- 栏目目录: 栏目在URL中的路径,如
news。 - 模板: 为该栏目选择一个列表页和内容页的模板。
-
内容管理:
- 作用:在各个栏目中发布、编辑、删除文章。
- 操作: ->
内容管理,选择对应的栏目进行操作。 - 发布文章:
- 选择栏目,点击“增加内容”。
- 文章标题。
- 所属栏目: 选择文章要发布的栏目。
- 在编辑器中输入文章正文,注意,内容是通过标签调用模板的,所以编辑器里写的是HTML内容。
- 发布: 点击“发布”按钮,文章即可在前台显示。
2 模板管理
这是 PHPCMS 的灵魂,用于控制网站的外观。
-
模板风格:
- 作用:管理网站的整套模板,你可以创建多个风格,方便切换。
- 操作:
模板->模板风格->增加风格。 - 模板目录: 风险存放的目录,默认在
templates/下。
-
模板列表:
- 作用:查看和编辑网站的所有模板文件。
- 操作:
模板->模板列表,选择你的模板风格。 - 模板类型:
- 首页模板: 网站首页的HTML结构。
- 列表页模板: 栏目列表页的HTML结构。
- 内容页模板: 文章详情页的HTML结构。
- 其他页面模板: 如搜索页、评论页等。
- 如何编辑: 点击模板名称后面的“修改”,即可在线编辑模板文件,PHPCMS 使用自己的模板语法,而不是纯PHP。
3 标签详解
模板编辑的核心就是使用标签,常用标签如下:
-
包含其他模板:
{template "content", "header"} <!-- 包含 header.html 模板 --> {template "content", "footer"} <!-- 包含 footer.html 模板 --> -
循环输出栏目列表:
{php $this->category(8)} <!-- 8是父栏目的ID,会获取其所有子栏目 --> <ul> {loop $data $r} <li><a href="{$r['url']}">{$r['catname']}</a></li> {/loop} </ul> {/php} -
循环输出文章列表:
{php $this->recommend("news", 8, 10, 1, 0, "id DESC")} <!-- 推荐 news 模型,栏目ID为8,调用10条,按ID降序 --> <ul> {loop $data $r} <li><a href="{$r['url']}">{$r['title']}</a></li> {/loop} </ul> {/php}recommend是调用推荐内容。lists是调用普通列表内容。
-
输出文章内容:
{$title} <!-- 输出文章标题 --> {$inputtime} <!-- 输出发布时间 --> {$content} <!-- 输出文章正文 -->
4 系统设置
- 站点管理: 设置网站名称、网址、Logo、关键词、描述等基本信息。
- 用户管理: 管理后台管理员账号,可以添加新管理员并分配不同权限。
- 扩展菜单: 可以安装一些插件后,在这里将插件功能添加到后台菜单。
第四部分:前台页面制作实战
假设我们要做一个简单的企业官网,包含“首页”、“关于我们”、“产品中心”、“联系我们”四个栏目。
1 步骤一:规划栏目
- 进入后台 ->
内容频道管理。 - 创建以下栏目:
- 栏目名称: 关于我们
- 类型:最终栏目
- 内容模型:文章
- 目录:
about
- 栏目名称: 产品中心
- 类型:最终栏目
- 内容模型:文章
- 目录:
products
- 栏目名称: 联系我们
- 类型:外部链接
- 链接地址: (暂时用#代替,稍后做静态页面)
- 栏目名称: 关于我们
2 步骤二:制作模板
-
在
templates/你的风格目录/下创建以下文件:header.html(网站头部,包含Logo和导航菜单)footer.html(网站底部,包含版权信息)index.html(首页模板)list_about.html(关于我们列表页模板)list_products.html(产品中心列表页模板)show.html(文章内容页模板)
-
编辑
header.html:<!DOCTYPE html> <html> <head> <title>{if isset($SEO['title']) && $SEO['title'] neq ''}{$SEO['title']}{/if}{$SEO['site_title']}</title> <meta name="keywords" content="{$SEO['keyword']}"> <meta name="description" content="{$SEO['description']}"> </head> <body> <div id="header"> <div id="logo">我的公司</div> <div id="nav"> <a href="{siteurl()}">首页</a> <!-- 循环输出顶级栏目 --> {php $this->category(0)} {loop $data $r} <a href="{$r['url']}">{$r['catname']}</a> {/loop} {/php} </div> </div> <div id="main"> -
编辑
index.html:{template "content", "header"} <h1>欢迎来到我的公司首页</h1> <p>这里是公司的简介和最新动态。</p> <!-- 调用产品中心栏目的最新5条产品 --> <h2>最新产品</h2> {php $this->lists("products", 1, 5, "id DESC")} <ul> {loop $data $r} <li><a href="{$r['url']}">{$r['title']}</a> - {$r['inputtime']}</li> {/loop} </ul> {/php} {template "content", "footer"} -
编辑
list_about.html:{template "content", "header"} <h1>{$SEO['catname']}</h1> <!-- 调用关于我们栏目的所有文章 --> {php $this->lists("about", 1, 10, "id DESC")} <ul> {loop $data $r} <li><a href="{$r['url']}">{$r['title']}</a> - {$r['inputtime']}</li> {/loop} </ul> {/php} {template "content", "footer"} -
编辑
show.html:{template "content", "header"} <h1>{$title}</h1> <p>发布时间:{$inputtime}</p> <hr> <div class="content"> {$content} </div> {template "content", "footer"} -
编辑
footer.html:</div> <div id="footer"> <p>版权所有 © 2025 我的公司</p> </div> </body> </html>
3 步骤三:发布内容并测试
- 在后台“关于我们”栏目中发布几篇文章。
- 在后台“产品中心”栏目中发布几篇文章。
- 在前台首页点击“关于我们”和“产品中心”,检查是否能正常跳转并显示文章列表。
- 点击列表中的文章,检查是否能进入详情页。
第五部分:常见问题与进阶
1 常见问题
- 后台登录后空白或报错:
- 检查
php.ini中的short_open_tag和register_globals是否为On。 - 检查数据库连接信息是否正确。
- 检查
config.php文件权限是否为 666 或 755。
- 检查
- 前台页面显示错乱或标签不生效:
- 检查模板文件路径是否正确。
- 检查标签语法是否正确,特别是
{php ...}和{loop ...}的配对。 - 确保栏目已经正确关联了模板。
2 进阶学习
- 自定义模型: 文章”模型不能满足需求(比如需要发布“招聘信息”,包含“薪资”、“工作地点”等特殊字段),可以创建自定义模型。
- 操作路径: ->
内容模型->增加模型,创建成功后,需要手动在数据库中添加字段,并编写相应的模板来调用这些新字段。
- 操作路径: ->
- 安装插件: PHPCMS 2008 有丰富的第三方插件,如留言板、表单提交、幻灯片等,通常将插件文件上传到
phpcms/modules/目录,然后在后台“扩展菜单”中启用。 - URL静态化: 后台
系统设置->URL规则中可以设置URL的静态化模式,让网页地址以.html有利于SEO。
PHPCMS 2008 作为一款经典的CMS,其“标签化模板”的设计理念对后来的许多CMS系统产生了深远影响,通过学习它,你可以很好地理解前后端分离的早期思想。
但再次强调,请务必在本地环境中学习和测试,切勿用于实际项目。 如果你想学习现代的建站技术,可以考虑更现代、更安全的CMS,如 WordPress、Joomla,或者国内的 EmpireCMS、Typecho 等。
