Windows Server 2003 和 PHP 5.x 已经是过时的技术,不再接收任何安全更新,将其暴露在公网上将面临极高的安全风险,极易被黑客攻击,强烈建议仅在隔离的内网环境(如测试环境、开发环境)中使用,并且不要处理任何敏感数据。

win2003搭建php网站
(图片来源网络,侵删)

本指南将使用经典的组合:IIS 6.0 + PHP 5.x + MySQL 5.x


第一步:准备工作

  1. 操作系统:确保你有一台安装好的 Windows Server 2003 系统,并且安装了 IIS 6.0。

    • 如何安装 IIS 6.0
      • 进入“控制面板” -> “添加或删除程序” -> “添加/删除 Windows 组件”。
      • 勾选 “应用程序服务器” -> “Internet 信息服务(IIS)”。
      • 在 IIS 子组件中,确保勾选了 “万维网服务” 及其下的 “Active Server Pages” 和 “万维网服务” 中的所有默认选项。
      • 点击“下一步”完成安装。
  2. 下载所需软件


第二步:安装和配置 PHP

  1. 安装 PHP

    win2003搭建php网站
    (图片来源网络,侵删)
    • 将下载的 PHP 压缩包(php-5.6.40-nts-Win32-VC11-x86.zip)解压到一个固定目录,C:\php
  2. 配置 PHP

    • 进入 C:\php 目录,找到 php.ini-development 文件,将其复制一份并重命名为 php.ini,这是我们的主配置文件。
    • 编辑 php.ini 文件,使用记事本或专业编辑器(如 Notepad++)打开,并修改以下关键项:
      • extension_dir = "C:\php\ext":确保扩展目录路径正确。
      • date.timezone = "Asia/Shanghai":取消注释并设置你的时区。
      • cgi.fix_pathinfo=1:取消注释,这很重要,能让 PHP 正确处理路径信息。
      • 根据需要启用常用扩展,取消前面的分号 :
        ;extension=php_mysql.dll    ; 用于连接旧版 MySQL
        ;extension=php_mysqli.dll   ; 用于连接新版 MySQL (推荐)
        ;extension=php_gd2.dll      ; 用于图像处理
        ;extension=php_mbstring.dll ; 用于多字节字符串处理
    • php.ini 文件复制到两个位置:
      • C:\Windows\ (系统目录)
      • C:\php\ (PHP 安装目录)
  3. 安装 FastCGI 模块

    • 双步你下载的 FastCGI 安装包(fcgisetup_x86.msi),按照向导完成安装,安装过程会自动配置 IIS。
  4. 配置 IIS 与 FastCGI 的关联

    • 安装 FastCGI 后,需要告诉 IIS 如何处理 .php 文件。
    • 打开 “Internet 信息服务(IIS)管理器”。
    • 在左侧窗口中,右键点击你的“网站”或“虚拟目录”,选择“属性”。
    • 切换到 “主目录” 选项卡,点击 “配置” 按钮。
    • 在 “映射” 选项卡中,点击 “添加” 按钮。
    • 在 “可执行文件” 字段中,输入 C:\php\php-cgi.exe 的完整路径。
    • 在 “扩展” 字段中,输入 .php
    • 确保 “确认文件是否存在” 选项是未勾选状态(这对 IIS 6.0 很重要)。
    • 点击 “确定” 保存。
  5. 测试 PHP 是否工作

    win2003搭建php网站
    (图片来源网络,侵删)
    • 在你的网站根目录(C:\Inetpub\wwwroot)下创建一个名为 info.php 的文件。
    • 为:
      <?php
      phpinfo();
      ?>
    • 打开浏览器,访问 http://你的服务器IP/info.php
    • 如果能看到一个详细的 PHP 信息页面,说明 PHP 已经成功配置并运行了!

第三步:安装和配置 MySQL

  1. 安装 MySQL

    • 运行你下载的 MySQL 安装包(mysql-5.7.44-winx64.msi)。
    • 选择 "Custom"(自定义安装)以便选择安装路径。
    • 按照向导进行安装,在配置阶段,设置一个强密码并记住它,建议选择 "Standard Configuration"(标准配置)。
  2. 配置 MySQL

    • 安装完成后,MySQL 会自动作为服务运行。
    • 你可以通过命令行进行测试,打开 “命令提示符”,进入 MySQL 的 bin 目录(C:\Program Files\MySQL\MySQL Server 5.7\bin),然后运行:
      mysql -u root -p
    • 输入你设置的密码,如果能成功进入 MySQL 命令行,说明安装成功。

第四步:配置 PHP 连接 MySQL

为了确保 PHP 能够连接到你刚刚安装的 MySQL,需要进行以下配置:

  1. 检查 PHP 的 MySQL 扩展

    • 回到你之前打开的 info.php 页面,在页面中按 Ctrl+F 搜索 mysqlmysqli
    • 如果看到 mysqlmysqli 的模块项,Loaded Configuration File 显示的是 C:\php\php.ini 的路径,说明扩展已正确加载。
  2. 测试数据库连接

    • 在你的网站根目录下创建一个名为 test_db.php 的文件。

    • 为:

      <?php
      $servername = "localhost";
      $username = "root";
      $password = "你在MySQL中设置的密码";
      // 创建连接
      $conn = new mysqli($servername, $username, $password);
      // 检测连接
      if ($conn->connect_error) {
          die("连接失败: " . $conn->connect_error);
      }
      echo "连接成功!";
      $conn->close();
      ?>
    • 在浏览器中访问 http://你的服务器IP/test_db.php

    • 如果看到 "连接成功!",恭喜你,整个环境已经搭建完成!


第五步:部署你的 PHP 网站

  1. 将你的 PHP 网站源代码(WordPress, Discuz! 或其他自定义项目)复制到 IIS 的网站根目录,默认是 C:\Inetpub\wwwroot
  2. 如果网站需要数据库,请先登录 MySQL 创建数据库和用户,然后导入你的数据库备份文件。
  3. 修改网站配置文件(如 wp-config.php),填入正确的数据库信息。
  4. 通过浏览器访问你的网站域名或 IP 地址,网站即可正常运行。

常见问题与解决

  • 问题:访问 .php 文件时,提示下载文件而不是显示页面。

    • 原因:IIS 没有正确将 .php 扩展名映射到 PHP-CGI。
    • 解决:检查第二步第4步中的 IIS “应用程序映射”配置,确保路径和扩展名都正确无误。
  • 问题phpinfo() 页面显示 Loaded Configuration File: (none)

    • 原因:PHP 找不到 php.ini 文件。
    • 解决:确保 php.ini 文件已经复制到 C:\Windows\C:\php\ 目录,FastCGI 配置指向了正确的 PHP-CGI 路径。
  • 问题:连接数据库失败,提示 Access denied for user 'root'@'localhost'

    • 原因:用户名或密码错误。
    • 解决:仔细检查 test_db.php 文件中的 $password 变量值,确保与 MySQL 中设置的 root 密码完全一致。
  • 问题:网站提示 Call to undefined function mysql_connect()mysqli 相关错误。

    • 原因:PHP 的 MySQL 扩展没有被加载。
    • 解决:检查 php.ini 文件中 extension_dirphp_mysql.dll / php_mysqli.dll 的配置,确保分号 已被取消。

再次强调,这套组合仅适用于安全隔离的内部环境,对于任何新的项目,请务必使用现代化的操作系统(如 Windows Server 2025/2025 或 Linux)和更新的软件栈(如 PHP 7.4/8.x + Nginx/Apache + MySQL 8.0)。