1 环境准备与IIS配置
IIS(Internet Information Services)是Windows平台的核心Web服务器组件。部署前需确保系统已启用IIS及相关功能模块。通过控制面板中的“启用或关闭Windows功能”选项,勾选“Internet Information Services”主选项及其子项中的“Web管理工具”和“万维网服务”。
关键步骤是启用CGI功能,这是PHP在IIS中运行的基础。在“应用程序开发功能”中务必勾选CGI,因为PHP通常通过CGI或FastCGI模式在IIS中运行。安装完成后,访问 http://localhost验证IIS是否正常运行。
2 PHP环境安装与配置
2.1 PHP版本选择与安装
选择正确的PHP版本对稳定性至关重要。推荐下载非线程安全版本(Non-Thread Safe,NTS),因为IIS通过FastCGI方式调用PHP,这种模式下NTS版本性能更优。
从PHP官方网站下载适用于Windows的ZIP包后,解压到系统目录(如C:\php)。将PHP安装目录添加到系统的PATH环境变量中,以便系统识别PHP命令。
2.2 php.ini配置文件调整
php.ini是PHP的核心配置文件,正确设置对稳定性至关重要。复制php.ini-production为php.ini后,需修改以下关键参数:
- 设置扩展目录:
extension_dir = "C:\php\ext"指向PHP扩展文件夹 - 启用必要扩展:根据应用需求取消相应扩展注释,如extension=mysqli、extension=mbstring等
- 调整路径处理:
cgi.fix_pathinfo=1确保IIS能正确解析PHP脚本路径 - 配置时区:
date.timezone = PRC/Asia/Shanghai避免时间函数报错
3 IIS与PHP集成:FastCGI配置
3.1 添加PHP处理程序映射
IIS通过处理程序映射将特定类型请求定向到相应处理程序。在IIS管理器中,双击“处理程序映射”,点击“添加模块映射”,填写以下信息:
- 请求路径:
*.php(所有PHP文件) - 模块:
FastCgiModule(FastCGI模块) - 可执行文件:
C:\php\php-cgi.exe(PHP CGI可执行文件完整路径) - 名称:
PHP_via_FastCGI(自定义名称)
此配置告知IIS将所有.php后缀的请求通过FastCGI方式交给php-cgi.exe处理。
3.2 FastCGI参数优化
为提高性能,可调整FastCGI设置。在IIS管理器中进入“FastCGI设置”,选择php-cgi.exe条目进行编辑:
InstanceMaxRequests:设置为10000,控制每个进程处理多少请求后重启ActivityTimeout和RequestTimeout:设为300秒,避免长时间请求超时
4 网站部署与测试
4.1 创建网站与权限配置
在IIS管理器中右键“站点”,选择“添加网站”,填写网站名称、物理路径(网站文件存放目录)和绑定信息(IP地址、端口、域名)。
权限配置是关键安全环节。右键网站文件夹,选择“属性”→“安全”→“编辑”→“添加”,赋予IIS_IUSRS用户组“读取和执行”权限。
4.2 测试PHP运行状态
创建测试文件info.php,内容为<?php phpinfo(); ?>,放置在网站根目录。通过浏览器访问 http://localhost/info.php,若显示PHP配置信息表格,则表示配置成功。
5 数据库连接配置
5.1 MySQL数据库集成
多数PHP网站需要MySQL数据库支持。安装MySQL后,在PHP配置文件中启用MySQL扩展(extension=mysqli)。在网站配置文件(如config.php)中设置正确的数据库连接参数:
$db_host = 'localhost';
$db_user = '用户名';
$db_password = '密码';
$db_name = '数据库名';
5.2 SQL Server数据库连接
如需连接MSSQL数据库,需安装Microsoft Drivers for PHP for SQL Server。在php.ini中启用扩展:
extension=php_sqlsrv.dll
extension=php_pdo_sqlsrv.dll
使用sqlsrv_connect()或PDO进行连接:
$serverName = "服务器名";
$connectionOptions = array(
"Database" => "数据库名",
"Uid" => "用户名",
"PWD" => "密码"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
6 常见问题与解决方案
6.1 HTTP错误代码处理
- HTTP 500.0内部服务器错误:通常由于缺少Visual C++ Redistributable包引起,安装对应版本的vc_redist.x64.exe可解决
- HTTP 500.19配置错误:检查applicationHost.config中是否有重复的handlers条目,清除冲突配置
- PHP文件被下载而非执行:处理程序映射未正确配置,检查.php文件是否映射到FastCGI模块
6.2 性能与安全优化
- 关闭错误显示:在生产环境中设置php.ini中的
display_errors=Off,防止敏感信息泄露 - 调整文件上传限制:设置
upload_max_filesize和post_max_size以适应应用需求 - 启用失败请求跟踪:在IIS中启用此功能,便于排查500等错误状态码问题
7 高级配置与优化技巧
对于高流量网站,可考虑以下优化措施:
- 实施缓存策略:使用Memcached或Redis缓存查询结果,减少数据库压力
- 优化数据库查询:通过索引、查询优化提高数据库响应速度
- 调整IIS应用程序池设置:根据服务器资源调整内存限制和请求限制
通过以上步骤,您可以成功在IIS服务器上部署PHP网站。关键在于确保IIS正确配置CGI、PHP版本选择适当,以及处理程序映射正确设置。遇到问题时,检查IIS日志(位于C:\inetpub\logs)和PHP错误日志可提供有价值的诊断信息。
若内容若侵犯到您的权益,请发送邮件至:platform_service@jienda.com我们将第一时间处理!
所有资源仅限于参考和学习,版权归JienDa作者所有,更多请访问JienDa首页。





