IIS7.5下配置支持PHP环境的详细指南**
在Windows Server 2008 R2或Windows 7等操作系统中,IIS7.5是默认的Web服务器,要让IIS7.5能够解析和运行PHP脚本,需要进行一系列的配置,本文将详细介绍在IIS7.5中支持PHP的步骤,帮助您顺利完成PHP环境的搭建。
准备工作
-
获取PHP版本:
- 访问PHP官方网站(https://www.php.net/downloads.php)下载适合Windows系统的PHP版本,对于IIS7.5,推荐选择Non Thread Safe (NTS)版本的PHP,特别是使用FastCGI模式时。
- 下载后解压到一个不含空格和中文的路径,
C:\php
。
-
获取并配置FastCGI:
- IIS7.5通过FastCGI来处理PHP请求,PHP for Windows安装包通常不包含FastCGI扩展,但IIS7.5的默认安装可能已经包含了FastCGI模块,如果不确定,可以从微软官方平台下载安装。
- 确保IIS中已安装“FastCGI”角色服务,可以通过“服务器管理器”->“角色”->“Web服务器(IIS)”->“角色服务”中检查并安装。
配置PHP.ini文件
-
复制并重命名配置文件:
- 进入PHP解压目录(如
C:\php
),找到php.ini-development
或php.ini-production
文件。 - 根据您的需求选择一个作为基础进行修改,并将其重命名为
php.ini
,开发环境可选php.ini-development
,生产环境推荐php.ini-production
。
- 进入PHP解压目录(如
-
修改关键配置项:
- 扩展目录:找到
;extension_dir = "ext"
这一行,去掉分号,并修改为您的PHP扩展目录路径,extension_dir = "C:\php\ext"
。 - 启用常用扩展:根据您的需求,去掉相应扩展行前面的分号来启用它们。
extension=php_mysql.dll
(MySQL扩展,较旧版本)extension=php_mysqli.dll
(MySQLi扩展)extension=php_pdo_mysql.dll
(PDO MySQL扩展)extension=php_gd2.dll
(GD库,处理图像)extension=php_mbstring.dll
(多字节字符串处理)extension=php_xmlrpc.dll
(XML-RPC支持)extension=php_openssl.dll
(OpenSSL支持)
- 时区设置:找到
;date.timezone =
去掉分号,并设置为您所在的时区,date.timezone = Asia/Shanghai
。 - 上传文件大小限制:修改
upload_max_filesize
和post_max_size
为您需要的值,upload_max_filesize = 20M
,post_max_size = 20M
。
- 扩展目录:找到
配置IIS7.5以支持PHP
-
注册PHP FastCGI处理程序:
- 打开命令提示符(以管理员身份运行)。
- 进入PHP目录,
cd C:\php
。 - 运行以下命令注册PHP作为FastCGI处理程序:
php-cgi.exe -b 127.0.0.1:9000
这会启动PHP-CGI进程并监听本地9000端口,更推荐的方式是使用IIS的FastCGI设置来配置,而不是手动启动命令。
- 或者,使用IIS管理器进行图形化配置(推荐):
- 打开“Internet Information Services (IIS) 管理器”。
- 在左侧连接面板中,选择您的服务器节点或网站节点。
- 双击“处理程序映射”。
- 在右侧操作面板中,点击“添加模块映射”。
- 请求路径:输入
*.php
。 - 模块:选择
FastCgiModule
。 - 可执行文件:浏览并选择
C:\php\php-cgi.exe
。 - 名称:输入一个易于识别的名称,
PHP_via_FastCGI
。 - 点击“请求”,如果配置正确,会提示“添加模块映射成功”,点击“确定”。
-
配置FastCGI设置(可选但推荐):
- 在IIS管理器左侧,选择服务器节点。
- 双击“FastCGI设置”。
- 在右侧操作面板中,点击“添加应用程序处理程序程序映射”。
- 可执行文件:浏览并选择
C:\php\php-cgi.exe
。 - 实例限制:默认为0(无限制),可根据需要调整。
- 点击“添加”。
- 选中刚刚添加的
php-cgi.exe
条目,在右侧操作面板中可以设置环境变量、超时时间等,可以设置PHP_FCGI_MAX_REQUESTS
来增加CGI进程的复用率。
-
设置默认文档(可选):
- 在IIS管理器中,选择您的网站。
- 双击“默认文档”。
- 在右侧操作面板中,点击“添加”,输入
index.php
,并将其调整到列表的合适位置(例如紧跟index.html
之后),这样访问网站根目录时会优先尝试index.php
。
-
配置MIME类型(可选):
- 在IIS管理器中,选择您的网站。
- 双击“MIME类型”。
- 在右侧操作面板中,点击“添加”。
- 文件扩展名:
.php
- MIME类型:
application/x-httpd-php
- 点击“确定”。(通常通过处理程序映射配置后,这一步会自动完成)
测试PHP配置
- 在网站的根目录下创建一个名为
info.php
的文件,内容如下:<?php phpinfo(); ?>
- 保存文件,然后在浏览器中访问
http://您的域名或IP/info.php
。 - 如果看到PHP的配置信息页面,说明PHP已经成功在IIS7.5中配置并运行。
- 安全提示:测试完成后,建议删除
info.php
文件,因为它会暴露服务器的PHP配置信息,带来安全风险。
常见问题与解决
-
问题1:访问.php文件时提示下载或显示源代码。
- 原因:IIS未正确将.php文件与PHP处理程序关联。
- 解决:检查“处理程序映射”中是否已正确添加了
*.php
的映射,并且模块选择为FastCgiModule
,可执行文件路径正确。
-
问题2:HTTP 错误 500.0 - Internal Server Error。
- 原因:可能是
php.ini
配置错误、PHP-CGI进程崩溃、权限问题等。 - 解决:
- 检查PHP错误日志(在
php.ini
中error_log
指定路径)查看具体错误信息。 - 检查
php.ini
中是否有语法错误。 - 确保IIS进程(通常是IIS_IUSRS或NETWORK SERVICE)对PHP安装目录和网站目录有适当的读取和执行权限。
- 检查FastCGI设置中的超时时间是否足够。
- 检查PHP错误日志(在
- 原因:可能是
-
问题3:FastCGI 进程在请求后频繁回收。
- 原因:可能是PHP脚本执行时间过长或资源不足。
- 解决:在IIS的“FastCGI设置”中调整
Instance MaxRequests
值,增加单个CGI进程处理的最大请求数。
通过以上步骤,您应该能够在IIS7.5上成功配置并运行PHP环境,配置过程中,请确保路径正确、权限设置得当,并仔细检查每一步的操作,遇到问题时,善用PHP错误日志和IIS的详细错误信息进行排查,祝您使用愉快!
还没有评论,来说两句吧...