热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iis6服务器中配置PHP运行环境

由于本地电脑系统是window7windows8系统iis为iis7.5或者是8默认是支持FastCGI扩展的,所以配置比较简单,但是在配置服务器上的iis时就遇见了大问题了,因为windows2003的服务器iis为iis6,是没有集成FastCGI扩展的,只能配置CGI和ISAPI扩展。1.首先必须明
由于本地电脑系统是window7 windows8系统iis为iis7.5或者是 8 默认是支持FastCGI扩展的,所以配置比较简单,但是在配置服务器上的iis时就遇见了大问题了,因为windows 2003的服务器 iis为iis6,是没有集成FastCGI扩展的,只能配置CGI和ISAPI扩展。

1.首先必须明白PHP的两种执行方式:ISAPI和FastCGI。
(1)ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。
(2)FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。

FastCGI已经集成于IIS7也支持IIS6,在IIS6中的安装方法以下详述。


2.PHP5.3.6文件里面没有php5isapi.dll取而代之的是php5nsapi.dll原因:
PHP5.3 是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP5.3 文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll,换句话说PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,只能通过FastCGI的方式执行。据说它的效率很高的哟。(一直郁闷为什么我下载的php没有php5isa.dll,没想到PHP5.3不支持ISAPI了,晕哦)
而因CGI性能差的原因,现在主要都是扩展ISAPI,又因isapi比较麻烦 所以弄了一整天还是没有成功,最后看到有人说iis6可以安装一个FastCGI扩展包就可以扩展FastCGI了。既然可以 那就试试吧。
FASTCGI http://www.iis.net/expand/FastCGI 下载X86版本)

本文默认你是配置好php环境的了,如果没有请查看 windows7+iis下 php+mysql+iis+phpmyadmin手动配置 该文虽然是windows7下配置但是php环境的配置还是一样的。
下面就开始用FastCGI扩展吧。(再说一句:FastCGI是必须.Net FrameWork3.5或以上版本和Windows 2003 SP2或以上版本的;并且php5.3以后就不支持ISAPI扩展了)
安装FastCGI后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图



同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler




注册 PHP 到 FastCGI:
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件
在 [Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-cgi.exe
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
4、配置网站
右键网站 =》 属性 =》 主目录 =》 配置 =》 添加,如下图配置:




可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll

5、写文件测试
index.php测试页
此时如果产生如下错误 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)
这是一个配置 iis+FastCGI 的时候都会遇到常见问题。
问题分析:Error Description拒绝访问,运行php权限设置不对或者是权限给的不够。
解决方法:给PHP环境目录添加user 的读取和运行权限即可!

然后就可以打开php网页了



推荐阅读
author-avatar
空间无悔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有