纯手工配置 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://www.zend.com 下载 Zend Core,这个就什么都不用配置,安装完就可以使用了,连 MySQL 都有。

(0)

相关推荐

  • Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2008 R2 PHP版本:php 5.4.4 MySQL版本:MySQL5.5.25 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.4.4-nts-Win32-VC9-x86.zip 2.MySQL下载地址: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLInstaller/mysql-ins

  • php中神奇的fastcgi_finish_request

    听起来可能有些茫然,我们通过几个例子来说明一下: 复制代码 代码如下: <?php echo '例子:'; fastcgi_finish_request(); echo 'To be, or not to be, that is the question.'; file_put_contents('log.txt', '生存还是毁灭,这是个问题.'); ?> 通过浏览器(不是命令行!)运行此脚本,结果发现并没有输出相应的字符串,但却生成了相应的文件.由此说明在调用fastcgi_finish_

  • 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题

    [详细错误]:HTTP 错误 500.0 - Internal Server ErrorC:\Program Files\PHP\php-cgi.exe - FastCGI 进程超过了配置的请求超时时限[环境]:php + IIS7.5解决办法:方法一:C:\Windows\System32\inetsrv\config\applicationHost.config 进行编辑,将activityTimeout设置调大,默认为600(10分钟),最大支持3600(1小时),单位秒~ 方法二:开始-

  • php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?

    什么是CGI CGI全称是"公共网关接口"(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.如php,perl,tcl等 什么是FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-

  • 将php默认的FastCGI模式改成ISAPI模式

    一,下载PHP的ZIP文件包:http://7i24.com/system/dl/,也可以去www.php.net中下载.注意版本要对应. 二,将sapi目录中的:php4isapi.dll复制到c:\php目录中 三,进入虚拟主机管理平台的"网站管理"-"虚拟主机"--服务器设置中,修改PHP的影射,将原来的: .php,C:\PHP\php.exe,5,GET,HEAD,POST,TRACE| 改成: .php,C:\PHP\php4isapi.dll,5,GE

  • IIS+FastCGI+PHP5.3+MySQL5.1+Gzip配置图文详细教程

    说明: 本帖是我经过一天一夜完成的,不同于一般网上文章,除详细的将整个配置过程和 测试过程都详细截图说明外,尤其在FastCGI方面采用微软的"web平台安装程序"来配置,网上相关内容很少,对gzip的设置也很详细,保证按图操 作即可独立完成.另外,还有详细的测试gzip压缩率的方法和比较. 文中对于理论几乎没有阐述,只是对配置过程进行了最详细的介绍,这样 使新手即使不太明白,照本文也可以配置出一样的环境来,本文章的错误及疏漏之处,还请大家指出来,大家在配置中有何问题,我们一起来探讨解

  • Win2003下IIS以FastCGI模式运行PHP

    由于PHP5.3 的改进,原有的IIS 通过isapi 方式解析PHP脚本已经不被支持,PHP从5.3.0 以后的版本开始使用微软的 fastcgi 模式,这是一个更先进的方式,运行速度更快,更稳定.本文介绍在IIS上以FastCGI模式运行PHP.我们以 Windows 2003 + IIS 6.0(windows2003自带) 为例. 第一步:下载安装的文件 1. FastCGI 版本 fcgisetup_1.5_x86_rtw.msi 2. MySQL 版本 mysql-5.5.19-wi

  • Windows Server 2008(R2) 一键安装PHP环境(PHP5.3+FastCGI模式)

    本文通过最简单快捷的方式,讲述从崭新的Windows Server 2008(R2),通过护卫神·PHP套件一键部署PHP运行环境的过程,十分简单. 套件包下载地址: http://www.jb51.net/softs/243867.html 护卫神PHP套件包的特点: 1.包内各部件均来自官方稳定版本,加上护卫神构建的安全体系,MySQL数据库和PhpMyadmin站点已经自动配置安全,一键安装,放心使用: 2.PHP版本为5.3.28,采用的非线程安全模式,FastCGI,运行速度快: 3.

  • CentOS 6.1 环境中部署nginx、php(包括fastcgi)、虚拟主机配置

    部署时间:2012-07-24 OS环境:CentOS 6.1 nginx:nginx-1.2.2 PHP:PHP5.3.14 0.安装依赖包 复制代码 代码如下: yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make 1.添加 www 用户用来执行nginx 复制代码 代码如下: useradd -M -r -s /sbin/nologin -d /o

  • IIS7配置PHP环境图文教程(fastcgi快速最新版)

    我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少. 特点是:稳定,但效率太低. 2.ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广. 特点是:多线程,效率较高,但不够稳定. 3.FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了. 特点是:高效率,高稳定性,属于将来发展趋势.

  • Win7下在IIS7中配置PHP的FastCGI支持_笔记

    在Windows7的控制面板-程序中"打开/关闭Windows功能",在里面打开IIS,不要忘了打开IIS里的CGI(这个默认是不选的),如下图(不自己截了,直接用微软的图): 然后就是"确定",等着安装,接下来是PHP了,在"http://windows.php.net/download/"里下载,我下的是VC9 x86 Thread Safe的Zip包,5.3.1的(写文时最新的).下好后解压到随便哪个目录里,我放到C:\php目录下,做下面

  • PHP 5.3和PHP 5.4出现FastCGI Error解决方法

    不少童鞋在配置完PHP 5.3或者PHP 5.4网站源码后打开出错,提示 复制代码 代码如下: FastCGI Error The FastCGI Handler was unable to process the request. Error Details: Error Number: 14001 (0x800736b1). Error Description: ÓÉÓÚÓ¦ÓóÌÐòÅäÖò»ÕýÈ·£¬Ó¦ÓóÌÐòδÄÜÆô¶¯¡£ÖØа²×°Ó¦ÓóÌÐò¿ÉÄÜ»á¾

  • windows+IIS 环境下以Fastcgi方式配置php 5.3.3的方法

    还是感觉5.2及以前的版本配置比较方便,使用5.3配置后,我的apache居然挂了,不知道问题出在哪里,没找到解决方法,最后只能ghost还原了一下.第一步:iis6.0环境配置,这里不多介绍 第二步:下载php5.3.3的windows压缩版本:php-5.3.3-nts-Win32-VC9-x86.zip1.下载地址:http://windows.php.net/download/,选择VC9 x86 Non Thread Safe.有关PHP版本说明2.把php-5.3.3-nts-Win

  • ubuntu上配置Nginx+PHP5 FastCGI服务器配置

    首先安装或编译Nginx.安装Nginx源码包可以在官方主页上下载.Ubuntu 9.04可以直接通过apt安装,也可以从这里下载最新的deb包:sudo apt-get install nginx如果要自己编译的话,需要确保自己已经有编译器和PCRE的库(用于Nginx的rewrite模块,如果不需要这个模块可以在configure时使用./configure –without-rewrite).编译方法如下:wget http://sysoev.ru/nginx/nginx-0.5.34.t

  • Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.5.8-nts-Win32-VC11-x86.zip 2.MySQL下载地址: http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-com

  • Win2008下搭建php开发环境(IIS FastCGI版)

    注意所用到软件的版本,不同的版本会有不少差别,有可能最后会搭建不成功,而且各位童鞋也不用担心小狼所用版本会不会太老,因为这里所用的软件不是比较新的就是比较稳定的版本,完全可以满足大家的需要了,那就先看看要用到什么软件吧: 操作系统:Windows Server 2008(下文为了方便,用WS2008代替,经测试,此方法在win7下也有效) 服务器:IIS7.0或更新版本 1.mysql-essential-5.1.56-win32.msi:http://dev.mysql.com/downloa

  • 在PHP中使用FastCGI解析漏洞及修复方案

    漏洞描述: Nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME.当访问http://192.168.1.102/phpinfo.jpg/1.php这个URL时,$fastcgi_script_name会被设置为"phpinfo.jpg/1.php",然后构造成SCRIPT_FILENAME传递给PHP CGI.如果PHP中开启了fix_pathinfo这个选项,PHP会认为SCRIPT_FILENAME是ph

  • Nginx(PHP/fastcgi)的PATH_INFO问题

    在Apache中, 当不加配置的时候, 对于PHP脚本, AcceptPathInfo是默认接受的, 也就是说: 如果在服务器在存在一个/laruence/index.php 那么, 对于如下请求, 复制代码 代码如下: /laruence/index.php/dummy /laruence/dumm Apache都接受, 都会认为是对info.php的访问, 并会设置PATH_INFO为dummy 而对于Nginx下, 是不支持PATH INFO的, 也就是它不会默认设置PATH_INFO.

  • 使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法)

    在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的"WEB服务扩展"中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再我的电脑->属性->高级->"环境变量"-"系统变量"中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择"属性&

随机推荐