概述

WIMP是Windows系统下的经典Web开发环境组合:

  • Windows - 操作系统
  • IIS - Web服务器
  • MySQL - 数据库管理系统
  • PHP - 服务器端脚本语言

环境准备

系统要求

  • 操作系统: Windows 10/11 或 Windows Server 2016+
  • 内存: 至少4GB RAM
  • 磁盘空间: 至少5GB可用空间
  • 权限: 管理员账户权限

下载链接

详细安装步骤

第一步:启用IIS功能

通过控制面板启用

  1. Win + R,输入 appwiz.cpl,回车
  2. 点击"启用或关闭Windows功能"
  3. 展开"Internet Information Services",选择以下组件:

    • Web管理工具

      • IIS管理控制台
    • 万维网服务

      • 应用程序开发功能

        • CGI
        • ISAPI扩展
        • ISAPI过滤器
    • 常见HTTP功能

      • 默认文档
      • 静态内容

通过PowerShell启用(管理员权限)

Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpErrors
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpRedirect
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions
Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASP45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-CGI

验证IIS安装

  1. 打开浏览器访问 http://localhost
  2. 应该看到IIS欢迎页面
  3. 默认网站目录:C:\inetpub\wwwroot

第二步:安装MySQL

使用MySQL Installer安装

  1. 下载MySQL Installer
  2. 运行安装程序,选择安装类型:

    • Developer Default: 开发环境完整安装
    • Server only: 仅安装MySQL服务器
    • Custom: 自定义安装
  3. 产品选择与配置:

    • MySQL Server 8.0+
    • MySQL Workbench(可选,图形化管理工具)
    • MySQL Shell(可选,命令行工具)
  4. 配置步骤:

    类型和网络: 
      - Config Type: Development Computer
      - Connectivity: TCP/IP, Port 3306
      - Open Windows Firewall ports
    
    账户和角色:
      - Root Password: 设置强密码
      - 创建额外用户(可选)
    
    Windows服务:
      - Windows Service Name: MySQL80
      - Start the MySQL Server at System Startup

使用ZIP包安装(高级用户)

  1. 下载MySQL ZIP存档
  2. 解压到 C:\mysql
  3. 创建配置文件 my.ini

    [mysqld]
    basedir=C:/mysql
    datadir=C:/mysql/data
    port=3306
    character-set-server=utf8mb4
    default-storage-engine=INNODB
    sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
    log-error=mysql.err
  4. 初始化MySQL:

    mysqld --initialize --console
  5. 安装MySQL服务:

    mysqld --install MySQL80
    net start MySQL80

验证MySQL安装

mysql -u root -p
# 输入密码后应进入MySQL命令行

第三步:安装PHP

下载与安装

  1. 访问PHP官网下载页面
  2. 选择版本建议:

    • PHP 8.1+ (Thread Safe版本)
    • 架构:x64
  3. 安装步骤:

    • 创建目录:C:\PHP
    • 解压ZIP文件到该目录
    • 添加PHP到系统PATH:

      setx /M PATH "C:\PHP;%PATH%"

配置PHP

  1. 重命名配置文件:

    cd C:\PHP
    copy php.ini-development php.ini
  2. 编辑 php.ini,启用以下扩展:

    extension=curl
    extension=gd
    extension=mbstring
    extension=mysqli
    extension=pdo_mysql
    extension=openssl
    extension=fileinfo
    extension=zip
    
    调整重要配置
    memory_limit = 256M
    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 300
    date.timezone = Asia/Shanghai

验证PHP安装

php -v
php -m  # 查看已加载模块

第四步:配置IIS支持PHP

安装FastCGI模块

  1. 打开IIS管理器
  2. 在服务器节点下,双击"模块"
  3. 确认"FastCgiModule"存在

配置PHP处理程序

  1. 在IIS管理器中选择服务器节点
  2. 双击"处理程序映射"
  3. 右键 → "添加模块映射"
  4. 填写配置:

    请求路径: *.php
    模块: FastCgiModule
    可执行文件: C:\PHP\php-cgi.exe
    名称: PHP-FastCGI

配置应用程序池

  1. 在IIS管理器中展开服务器
  2. 点击"应用程序池"
  3. 为PHP网站创建新应用程序池:

    • 名称: PHP-AppPool
    • .NET CLR版本: 无托管代码
    • 托管管道模式: 集成

配置默认文档

  1. 选择网站或应用程序
  2. 双击"默认文档"
  3. 添加 index.php 到列表

第五步:环境集成测试

创建测试文件

C:\inetpub\wwwroot 创建以下文件:

test.php - PHP基础测试

<?php
// 显示PHP信息
phpinfo();
?>

mysql_test.php - 数据库连接测试

<?php
header('Content-Type: text/plain; charset=utf-8');

$host = 'localhost';
$username = 'root';
$password = '你的密码';
$database = 'mysql';

try {
    // 创建MySQLi连接
    $mysqli = new mysqli($host, $username, $password, $database);
    
    if ($mysqli->connect_error) {
        throw new Exception('MySQLi连接失败: ' . $mysqli->connect_error);
    }
    
    echo "MySQLi连接成功\n";
    echo "服务器版本: " . $mysqli->server_info . "\n";
    
    // 测试PDO连接
    $pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "PDO连接成功\n";
    
    // 执行简单查询
    $result = $mysqli->query("SELECT VERSION() as version");
    $row = $result->fetch_assoc();
    echo "MySQL版本: " . $row['version'] . "\n";
    
    $mysqli->close();
    
} catch (Exception $e) {
    echo "错误: " . $e->getMessage() . "\n";
}
?>

访问测试

  1. 打开浏览器访问:

    • http://localhost/test.php - 显示PHP信息
    • http://localhost/mysql_test.php - 测试数据库连接

高级配置

配置虚拟主机

  1. 在IIS管理器中右键"网站" → "添加网站"
  2. 配置参数:

    网站名称: MyPHPSite
    物理路径: C:\www\mysite
    绑定类型: http
    主机名: mysite.local
  3. 修改hosts文件(C:\Windows\System32\drivers\etc\hosts):

    127.0.0.1 mysite.local

安装phpMyAdmin

  1. 下载phpMyAdmin ZIP包
  2. 解压到网站目录(如 C:\inetpub\wwwroot\phpmyadmin
  3. 创建配置文件 config.inc.php

    <?php
    $cfg['blowfish_secret'] = '你的随机密钥';
    $i = 0;
    $i++;
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = false;
    ?>

性能优化配置

PHP性能优化(php.ini)

; 内存与执行时间
memory_limit = 512M
max_execution_time = 180
max_input_time = 180

; 输出缓冲
output_buffering = 4096
implicit_flush = Off

; 真实路径缓存
realpath_cache_size = 4096K
realpath_cache_ttl = 600

; OPcache配置(PHP 8+)
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=1
opcache.revalidate_freq=2

MySQL性能优化(my.ini)

[mysqld]
innodb_buffer_pool_size = 256M
innodb_log_file_size = 128M
query_cache_size = 64M
query_cache_type = 1
max_connections = 100

故障排除

常见问题解决

1. PHP页面显示空白或错误

<?php
// 在脚本开头添加错误显示
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>

2. 数据库连接问题

  • 检查MySQL服务是否运行:services.msc
  • 验证防火墙设置
  • 检查MySQL用户权限

3. 文件权限问题

# 给IIS用户添加写权限
icacls "C:\www" /grant "IIS_IUSRS:(OI)(CI)F"

4. 端口冲突

# 检查端口占用
netstat -ano | findstr :80
netstat -ano | findstr :3306

有用的诊断命令

# 检查IIS状态
iisreset /status

# 检查PHP配置
php -i | findstr "loaded configuration"

# 检查MySQL状态
mysqladmin -u root -p status

# 重启服务
net stop w3svc && net start w3svc
net stop MySQL80 && net start MySQL80

安全配置

基本安全措施

  1. 修改MySQL root密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新强密码';
  2. 创建应用程序专用用户

    CREATE USER 'app_user'@'localhost' IDENTIFIED BY '应用密码';
    GRANT SELECT, INSERT, UPDATE, DELETE ON app_db.* TO 'app_user'@'localhost';
  3. 保护PHP配置

    expose_php = Off
    display_errors = Off
    log_errors = On
    allow_url_fopen = Off
  4. IIS安全设置

    • 禁用不必要的HTTP方法
    • 配置请求过滤
    • 启用静态内容压缩

维护与管理

备份策略

# MySQL备份
mysqldump -u root -p --all-databases > backup_%date%.sql

# 网站文件备份
xcopy C:\inetpub\wwwroot D:\backup\wwwroot /E /H /C /I

监控工具

  • Windows事件查看器:查看系统日志
  • MySQL Workbench:性能监控
  • IIS日志:访问日志分析

扩展组件安装

常用PHP扩展

# 使用PECL安装扩展(需要安装PHP SDK)
pecl install redis
pecl install xdebug

安装Composer

# 下载安装Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
move composer.phar C:\PHP\composer.exe

总结

通过本教程,您已经成功搭建了完整的WIMP开发环境。这个环境适合:

  • PHP网站开发
  • WordPress等CMS系统
  • 自定义Web应用程序
  • 学习和测试环境

建议定期更新各组件以获取安全补丁和新功能,生产环境需要额外的安全加固和性能优化配置。

如果觉得我的文章对你有用,请随意赞赏