`
bwhzhl
  • 浏览: 100892 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

IIS下CGI支持PHP5

阅读更多
本来在WIndows下 用Apache+php5+mysql挺好的 可以装防火墙后 从启系统 系统出错 把防火墙卸载后 Apache又恢复正常 可网络连接出错 搞了一上午实在是弄不好 决定放弃Apache  用IIS来支持PHP
都知道 php4都是用ISAPI来支持IIS的 可到PHP5后 ISAPI就不行了 当时我还不知道 那天弄了半天
当然以前下的 php5.3-wiin-VC6用不了了 VC6是Apache下的从下个PHP5.3-win-x86-vc9   
准备软件:

PHP5.3.3:           http://www.php.net/downloads.php
FastCGI For IIS6:   http://www.iis.net/expand/fastcgi
Microsoft Visual C++ 2008:
Http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn

第1步:
安装 FastCGI For IIS6
安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件 都是fgci开头的
同样
在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler
第2补:
解压 php-5.3.3 压缩包 我放在D:/PHP 文件里面
给PHP文件设置权限 USER读取 
第3步:
注册PHP到FastCGI
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件
在 [Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe
   这里要用:“\”不能用“/”,“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。

第4步:
复制一份php.ini-production 改名为php.ini
在Windows下设置D:\php;D:\php\ext 为环境变量
配置php.ini 文件
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
display_errors = On
display_startup_errors = On
error_prepend_string = ""
error_append_string = ""
extension_dir = "D:\php\ext\"
fastcgi.impersonate = 1
date.timezone = asia/Shanghai
下面模块前的 ; 去掉
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll
[时区修改]
date.timezone = Asia/Shanghai
[session目录]
session.save_path = "D:/PHP/tmp"
phpadmin容易报错的原因
保存php.ini
第5步:
配置网站
打开IIS管理器,网站上点右键-属性-主目录-配置-添加
添加扩展名映射:
可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名: .php
允许动作: GET,HRAD,POST
确定
第6步:
安装
Microsoft Visual C++ 2008 
不安装的话会报错 Error Number: 14001 (0x800736b1)
注:
时区问题  date.timezone = asia/Shanghai
开始我后面打错了 一直报500内部服务器错误
找了半天才找到原因
     运行D:\PHP\PHP5\php-cgi.exe如果能进入命令窗口并只有光标,说明FastCGI能正常调用php-cgi,否则会提示错误
    重启 IISReset
   
测试


PHP.ini 其他设置

1。    查找:;session.save_path = "/tmp" (约第1466行)
    将前面的分号注释符去掉,这里将其设置为session.save_path = "D:/PHP/tmp" (这里就是我前面建立的文件夹)

2。    如果你有遇到无法上传较大文件或者运行某些程序经常超时,那么可以修改以下内容来调整相关限额:
    在大约第440行,
    max_execution_time = 30 ; 这个是每个脚本运行的最长时间,根据你的需求更改数值,单位秒
    max_input_time = 60 ; 这是每个脚本可以消耗的时间,根据你的需求更改数值,单位也是秒

    大约第458行,
    memory_limit = 128M ; 这个是脚本运行最大消耗的内存,根据你的需求更改数值,256M。
        大约第732行,    
        post_max_size =10M
       表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.
        限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...根据你的需求更改数值,M是单位:兆。
    大约第883行,
    upload_max_filesize = 2M ;
    上载文件的最大许可大小 ,根据你的需求更改数值,M是单位:兆。
在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.


【错误解决】
错误1:
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
The FastCGI process exited unexpectedly
Error Number: -2147467259 (0x80004005).
Error Description: 未指定的错误
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
       搜索: register_globals = Off (约第705行)
    将Off更改为 On,该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起作用,即得到 register_globals = On ;
    注:这个对于PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能所以打开,打开后请注意PHP程序的严谨性,如果不需要全局变量功能,或者出错,请保持默认Off状态。 

 
错误2:
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启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.

错误3:
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Could not find entry for "php" on site 1960240566 in [Types] section.
Error Number: 1413 (0x80070585).
Error Description: 未指定的错误
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

即说明没有安装成功!请按照fcgiext.ini 修改配置即可!!

错误4:
----------
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
• The FastCGI process exited unexpectedly
• Error Number: -1073741819 (0xc0000005).
• Error Description: Unknown Error
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
--------
我的PHP目录在C盘
当时配置PHP.INI的时候就在那个安装目录编辑好,再复制到windows目录下的...
结果恰恰是C:\PHP\php.ini 这个"备份"文件的存在 干扰了FastCGI的运行,总是提示我。
把 C:\php\php.ini 删除,
我以前安装的apache 复制了一些VC6的dll在Windows目录中 需删除





分享到:
评论

相关推荐

    Win10下部署IIS,并运行php项目

    "Win10下部署IIS,并运行php项目" Win10下部署IIS,并运行php项目是一种...Win10下部署IIS,并运行php项目需要配置IIS、CGI、PHP的集成环境、处理程序映射等步骤。只有通过正确的配置,才能使IIS正确地运行php项目。

    IIS7.0开启CGI功能,实现php解析

    IIS7.0开启CGI功能,实现php解析, IIS7.0开启CGI功能,实现php解析,

    IIS如何配置PHP环境

    2 ISAPI方式加载PHP环境 通常就是IIS里面配置解释器为php5isapi dll 目前使用最多 应用最广 特点是:多线程 效率较高 但不够稳定 3 FastCGI方式加载PHP环境 在IIS环境里并不常见 但其它系统环境应用还是有的 不过...

    windows2003 + IIS6.0 环境下以Fastcgi方式配置php .docx

    Windows 2003 + IIS 6.0 环境下以 FastCGI ...8. 在 Windows 2003 + IIS 6.0 环境下,以 FastCGI 方式配置 PHP 5.3.3 需要配置 fcigext.ini 文件,添加 [Types]php=PHP 和 [PHP]ExePath=D:\php\php-cgi.exe 等内容。

    代替iis的最好的软件 IIS代替软件所有语言全面支持

    APMServ集合了Apache稳定安全的优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、虚拟目录、端口更改、SMTP、上传大小限制、自动全局变量、SSL证书制作、缓存性能优化等设置,...

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI.pdf

    CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI 详解 CGI(公共网关接口)是一种工具,允许HTTP服务器与程序进行“交谈”,它可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。CGI程序须运行在...

    windows2021 + IIS6.0 环境下以Fastcgi方式配置php 5.3.3.docx

    Windows 2021 + IIS 6.0 环境下以 FastCGI 方式配置 PHP 5.3.3 Windows 2021 + IIS 6.0 环境下,以 FastCGI 方式配置 PHP 5.3.3,需要经过四个步骤。下面将详细介绍每个步骤的配置过程。 第一步:IIS 6.0 环境配置...

    php-cgi为何占用CPU100%.pdf

    在这种情况下,PHP-CGI会占用大量的CPU资源,导致服务器的性能下降。 其次,我们需要了解IIS metabase的概念。 metabase是IIS的配置数据库,它存储了IIS的所有配置信息。在 metabase中,我们可以找到关于PHP-CGI的...

    IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)

    注: CGI 会在IIS7+PHP_5.3.5的环境中用到  ISAPI扩展和ISAPI筛选器 用在IIS7+PHP_5.2.17 下面开始添加IIS的PHP支持  IIS7+PHP_5.3.5 1. 将下载回来的php_5.3.5解压到 C:\php目录(也可以放在其他地方,但是后面...

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

    使IIS支持PHP,ISAPI或CGI,FastCGI完全配置教程(最新php5.2.13配置方法),我是比较完整的一个版本,对可能出现的问题给出了具体的解决方法。

    windows2008 配置 cgi php mysql asp jsp

    Windows_Server_2008_R2_64位中配置IIS7.0的“CGI、php、mysql、asp、Jsp”环境搭建

    目前最好的IIS防火墙-威盾IIS防火墙

    IISWALL,即补天IIS防火墙,是由北京补天信息科技有限公司的安全专家 (CISP、CIW、CCIE)在多年服务器主机及网站管理经验的基础上,结合IIS网站对WEB安全的特殊需求而开发的一款专业级IIS应用防火墙,具备禁用代理...

    PHP网站调试用 PHP+IIS+MYSQL

     对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。 1、全面适合 Win2000/XP/2003/win7 操作系统 。 2、该程序包...

    Win2003下配置iis+php+mysql+zend图文 使其支持asp,.net,cgi,perl和php

    Win2003配置下iis+php+mysql+zend 2、下载php环境的相应的软件(下载地址:http://s.jb51.net/ )推荐配置:php-5.2.1-Win32.zip 、 mysql-5.0.37-win32.zip 、 ZendOptimizer-3.3.3-Windows-i386.exe第一步、安装...

    IIS下PHP的三种配置方式对比

    在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异。    1、CGI(通用网关接口/Common Gateway ...

    iis与tomcat的区别

    APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如asp,php,cgi,jsp)等动态网页的就不行。IIS是微软公司的Web服务器。主要支持ASP语言环境

    IIS+fastcgi下PHP运行超时问题的解决办法详解

    每在页面中上传较大的文件时遇到...在“fcgiext.ini”最末php的配置内容下增加一些参数,如下:引用[Types]php=PHP[PHP]ExePath=C:/PHP/php-cgi.exeInstanceMaxRequests=10000EnvironmentVars=PHP_FCGI_MAX_REQUEST

    新手配置 PHP 调试环境(IIS+PHP+MYSQL)

    目的:配置运行PHP的环境(IIS+PHP+MYSQL+CF+Perl)支持php+cgi+asp+jsp等 操作系统:windows2000 advance server(sp3)简体中文版 需要相关软件: 一:php-4.3.0-Win32.zip ,到相应站点下载,我上传文件不方便,...

    FastCGI For IIS6.0

    iis部署和运行PHP项目的插件,比传统的CGI效率要高。适用于iis6.0。 iis7.x有自带这个插件,有64位和32位的,测试可用

    智创IIS防火墙(网页关键字过滤拦截软件)

    过滤拦截ASP/PHP/ASP.NET/CGI等网页中存在非法信息并做相关LOG日志记录以便迅速查找非法信息的URL; 2、检查URL中的SQL字符插入攻击,过滤URL中的非法SQL语句,保护服务器不受SQL字符注入攻击; 3、限制URL长度,...

Global site tag (gtag.js) - Google Analytics