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

phpcms 2008全套建站教程
(图片来源网络,侵删)

第一部分: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 环境准备

  1. 集成软件包: 下载并安装一个本地PHP环境集成包,推荐使用 XAMPPWampServer
  2. 下载程序: 从可靠的源下载 PHPCMS 2008 的安装包,可以搜索 “PHPCMS 2008 完整版”。
  3. 配置环境:
    • 确保 Apache/Nginx 和 MySQL 服务都已启动。
    • 检查 php.ini 文件,确保 short_open_tag = Onregister_globals = On (这两个选项在旧版PHP中很常见,新版默认为Off,可能导致程序报错)。

2 安装步骤

  1. 上传文件: 将下载的 PHPCMS 2008 压缩包解压,把所有文件通过 FTP 或直接复制到你的 Web 服务器根目录(如 XAMPP 的 htdocs 文件夹)。
  2. 创建数据库:
    • 打开 phpMyAdmin (通常在 http://localhost/phpmyadmin)。
    • 创建一个新的数据库,数据库名可以自定义,phpcms2008
    • 创建一个数据库用户,并授予该用户对新创建数据库的所有权限。
  3. 运行安装程序:
    • 在浏览器中访问 http://localhost/ (如果你的文件放在 htdocs 根目录下)。
    • 你会看到安装向导的欢迎界面,点击“同意”并进入下一步。
  4. 填写数据库信息:
    • 数据库服务器: localhost
    • 数据库用户名: 你在步骤2中创建的用户名
    • 数据库密码: 你在步骤2中创建的密码
    • 数据库名: 你在步骤2中创建的数据库名(如 phpcms2008
    • 数据库表前缀: 可以使用默认的 v9_,如果需要安装多个实例,可以修改以避免冲突。
  5. 完成安装:
    • 填写完信息后,点击“开始安装”,程序会自动创建数据表并写入初始数据。
    • 安装成功后,会提示你删除 install 目录。务必删除此目录!
  6. 首次登录:
    • 访问你的网站首页,应该能看到默认的 PHPCMS 模板。
    • 访问 http://localhost/admin 进入后台管理界面。
    • 初始管理员账号: admin
    • 初始管理员密码: 123456 (或根据安装包提示的密码)
    • 首次登录后,请立即修改默认密码!

第三部分:后台核心功能详解

登录后台后,你会看到左侧的菜单栏,这是管理网站的核心。

1 内容管理

这是网站的“血肉”,用于发布和管理所有信息。

  • 内容频道管理:

    phpcms 2008全套建站教程
    (图片来源网络,侵删)
    • 作用:创建和管理网站的不同栏目,如“公司新闻”、“产品中心”、“关于我们”等。
    • 操作: -> 内容频道管理 -> 增加栏目
    • 关键设置:
      • 栏目名称: 栏目的标题。
      • 栏目类型: 选择“最终栏目”(用于发布内容)或“外部链接”(跳转到其他网址)等。
      • 内容模型: 选择栏目的内容类型,如文章、图片、下载等。(非常重要)
      • 栏目目录: 栏目在URL中的路径,如 news
      • 模板: 为该栏目选择一个列表页和内容页的模板。
  • 内容管理:

    • 作用:在各个栏目中发布、编辑、删除文章。
    • 操作: -> 内容管理,选择对应的栏目进行操作。
    • 发布文章:
      1. 选择栏目,点击“增加内容”。
      2. 文章标题。
      3. 所属栏目: 选择文章要发布的栏目。
      4. 在编辑器中输入文章正文,注意,内容是通过标签调用模板的,所以编辑器里写的是HTML内容。
      5. 发布: 点击“发布”按钮,文章即可在前台显示。

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 步骤一:规划栏目

  1. 进入后台 -> 内容频道管理
  2. 创建以下栏目:
    • 栏目名称: 关于我们
      • 类型:最终栏目
      • 内容模型:文章
      • 目录:about
    • 栏目名称: 产品中心
      • 类型:最终栏目
      • 内容模型:文章
      • 目录:products
    • 栏目名称: 联系我们
      • 类型:外部链接
      • 链接地址: (暂时用#代替,稍后做静态页面)

2 步骤二:制作模板

  1. templates/你的风格目录/ 下创建以下文件:

    • header.html (网站头部,包含Logo和导航菜单)
    • footer.html (网站底部,包含版权信息)
    • index.html (首页模板)
    • list_about.html (关于我们列表页模板)
    • list_products.html (产品中心列表页模板)
    • show.html (文章内容页模板)
  2. 编辑 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">
  3. 编辑 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"}
  4. 编辑 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"}
  5. 编辑 show.html

    {template "content", "header"}
    <h1>{$title}</h1>
    <p>发布时间:{$inputtime}</p>
    <hr>
    <div class="content">
        {$content}
    </div>
    {template "content", "footer"}
  6. 编辑 footer.html

    </div>
    <div id="footer">
        <p>版权所有 © 2025 我的公司</p>
    </div>
    </body>
    </html>

3 步骤三:发布内容并测试

  1. 在后台“关于我们”栏目中发布几篇文章。
  2. 在后台“产品中心”栏目中发布几篇文章。
  3. 在前台首页点击“关于我们”和“产品中心”,检查是否能正常跳转并显示文章列表。
  4. 点击列表中的文章,检查是否能进入详情页。

第五部分:常见问题与进阶

1 常见问题

  • 后台登录后空白或报错:
    • 检查 php.ini 中的 short_open_tagregister_globals 是否为 On
    • 检查数据库连接信息是否正确。
    • 检查 config.php 文件权限是否为 666 或 755。
  • 前台页面显示错乱或标签不生效:
    • 检查模板文件路径是否正确。
    • 检查标签语法是否正确,特别是 {php ...}{loop ...} 的配对。
    • 确保栏目已经正确关联了模板。

2 进阶学习

  • 自定义模型: 文章”模型不能满足需求(比如需要发布“招聘信息”,包含“薪资”、“工作地点”等特殊字段),可以创建自定义模型。
    • 操作路径: -> 内容模型 -> 增加模型,创建成功后,需要手动在数据库中添加字段,并编写相应的模板来调用这些新字段。
  • 安装插件: PHPCMS 2008 有丰富的第三方插件,如留言板、表单提交、幻灯片等,通常将插件文件上传到 phpcms/modules/ 目录,然后在后台“扩展菜单”中启用。
  • URL静态化: 后台 系统设置 -> URL规则 中可以设置URL的静态化模式,让网页地址以 .html 有利于SEO。

PHPCMS 2008 作为一款经典的CMS,其“标签化模板”的设计理念对后来的许多CMS系统产生了深远影响,通过学习它,你可以很好地理解前后端分离的早期思想。

但再次强调,请务必在本地环境中学习和测试,切勿用于实际项目。 如果你想学习现代的建站技术,可以考虑更现代、更安全的CMS,如 WordPressJoomla,或者国内的 EmpireCMSTypecho 等。