IIS6下配置fastcgi的php
来源:互联网 发布:php判断网址是否有效 编辑:程序博客网 时间:2024/05/20 07:35
微软去年底发布了II6的FastCGI模块,今天将服务器上的PHP支持改成了FastCGI,目前运行稳定.FastCGI的IIS模块可以让流行的应用框架在IIS上支持FastCGI协议以提供高性能和可用性的访问服务,FastCGI面向现有的网络服务器提供高性能的CGI替代标准。具体PHP安装方法我记录下来,其中包括出现的一个错误.
环境:
操作系统:Windows 2003 Server
PHP版本:PHP5.25
1.下载FastCGI For IIS6
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载之后,双击运行进行安装.
2.下载PHP5.25 Windows版
http://www.php.net
下载.zip格式的版本,下载后解压至D:/PHP目录,并给IIS启动帐户组或用户赋予读取和运行权限.
3.注册PHP到FastCGI
在命令行下运行
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"D:/PHP/php-cgi.exe"
fcgiconfig.js 默认存放目录是:C:/WINDOWS/system32/inetsrv
4.设置
将D:/PHP/php.ini-recommended重命名为为D:/PHP/php.ini
打开D:/PHP/php.ini,修改:
extension_dir = "D:/PHP/ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
其它根据实际需要对php.ini进行设置修改
然后执行:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:500
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:1000
以上两项设置最大池和响应连接数,可以根据运行机器的硬件配置、使用情况修改
一切完毕之后重启IIS,赶紧写一个测试页试一下吧.
我第一次安装时,由于为了服务器的安全我删除了wsshell命令,导致在第3步时出现了如下错误:
Microsoft JScript 运行时错误: Automation 服务器不能创建对象
后通过重新注册命令:regsvr32 WSHom.ocx
问题解决
重启IIS后,打开测试页出现如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
这个错误是由于在解压PHP之后,没有对IIS启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.
下午在公司已经可以在 Windows Server 2008 和 IIS 7 下跑 PHP 了,家里是 Windows Server 2003 和 IIS 6 的,虽然之前也可以跑过 PHP,但觉得过程糊里糊涂,不知所以然,google 一翻,终于实现手工配置 IIS 6 下以 FastCGI 跑 PHP。回头把 IIS 7 下的实现方法也帖上。
环境:
操作系统:Windows 2003 Server SP2
PHP 版本:php-5.2.6-Win32
1.下载 FastCGI For IIS6
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载之后,双击运行进行安装。
安装后在 C:/WINDOWS/system32/inetsrv 目录下产生了五个文件。如下图:
同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。
2.下载 PHP5.25 Windows 版
http://www.php.net/downloads.php
下载 .zip 格式的版本,下载后解压至 D:/PHP 目录,并给 IIS 启动帐户组或用户赋予读取和运行权限。如下图:
你可以根据自己的意愿解压到别的目录。
3. 注册 PHP 到 FastCGI
打开 C:/WINDOWS/system32/inetsrv/fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%/system32/inetsrv directory.
我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在加载 fcgiext.dll 时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。
在 [Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=D:/PHP/php-cgi.exe
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
4. 配置 php.ini
将 D:/PHP/php.ini-recommended 复制一个,然后重命名为 D:/PHP/php.ini
打开 D:/PHP/php.ini,修改:
extension_dir = "D:/PHP/ext"
fastcgi.impersonate = 1
其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS。
5. 配置网站
右键网站 => 属性 => 主目录 => 配置 => 添加,如下图配置:
可执行文件路径:C:/WINDOWS/system32/inetsrv/fcgiext.dll
6. 写个 php 测试下吧
<?php
phpinfo();
?>
看到类似以下效果说明你的服务器可以跑 php 了。
打开后如果出现提示:
No input file specified.
估计是没配置 fastcgi.impersonate。
如果觉得过程麻烦,请看:
http://hi.baidu.com/imdao/blog/item/16583512f11cb654f819b858.html
如果你还觉得麻烦,那就到 http://www.zend.com 下载 Zend Core,这个就什么都不用配置,安装完就可以使用了,连 MySQL 都有。
PS:PHP 5.3.0 安装有一个注意事项,详细:http://www.itlibs.com/tech/archive/20090813/135989.html
- IIS6下配置fastcgi的php
- IIS6下配置fastcgi的php 的所有错误调试
- IIS6下配置fastcgi的php的教程
- IIS6+fastcgi+php的安装
- 在IIS6 配置使用php的fastcgi模式
- IIS6下配置fastcgi模式的php5.3.6高级进阶
- iis6上配置php并且支持fastcgi
- windows2003 + IIS6.0 环境下以Fastcgi方式配置php 5.3.3
- IIS6配置FastCGI遇到ERROR5的解决方法
- 在IIS 5.1 或IIS6 中配置PHP 的FastCGI模式
- IIS6.0 FastCGI+php+Mysql
- 在IIS6 配置使用php5.4的fastcgi模式
- WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置
- Win7下,在IIS7中配置PHP的FastCGI支持
- Win7下,在IIS7中配置PHP的FastCGI支持
- windows下apache+fastCGI+PHP的安装与配置小计
- Win7下在IIS7中配置PHP的FastCGI支持
- PHP-FastCGI的配置和测试(linux下)
- hdu hdu 1102 Constructing Roads(最小生成树Kruskal)
- easymule学习----校验dll信息
- Hibernate中Session.load与Session.get的区别
- 行者无疆——自行车,危险的运动
- 20100915
- IIS6下配置fastcgi的php
- checkedlistbox取消选中项
- WebSphere7: 修改端口,建立多端口应用
- 忙
- KMP字符串匹配算法【Z】
- 日常生存自救手册视频总结04
- win7完全卸载sqlserver2005
- 2.1 Memory Organization and Segmentation
- Courier-mta 是什么?