`
bwhzhl
  • 浏览: 102895 次
  • 性别: 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项目。

    Windows iis7下安装多个PHP版本支持环境

    "Windows iis7 下安装多个 PHP 版本支持环境" Windows iis7 下安装多个 PHP 版本支持环境是指在 Windows 操作系统下安装多个版本的 PHP 环境,以便在不同的项目中使用不同的 PHP 版本。为了实现这个目标,我们可以...

    iis下运行php

    - **FastCGI 在 IIS 下的优点**:与传统的 CGI 方式相比,FastCGI 可以显著提高性能,因为它减少了进程创建和销毁的开销,并且能够处理并发请求。此外,它还提供了更好的资源管理和错误处理能力。 - **配置 FastCGI...

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

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

    php(PHP5.3.3安装包以及IIS6+PHP5配置图文说明)

    在本文中,我们将深入探讨如何在Windows环境下安装PHP5.3.3并配置它与IIS6集成。这个过程对于那些需要在服务器上运行PHP应用程序的开发者来说至关重要。以下是详细的步骤和相关知识点: 1. **下载PHP5.3.3安装包**...

    IIS6.1配置Php

    然后,将PHP目录下的php-cgi.exe添加到系统的PATH环境变量中,以便IIS可以找到它。 接下来,我们需要配置IIS以处理PHP请求。打开IIS管理控制台,选择要配置的站点,然后右键选择“属性”。在"主目录"选项卡中,点击...

    php在iis下布署

    在IIS下部署PHP是一项常见的任务,特别是在Windows服务器环境下。本文将详细讲解如何在IIS7上部署PHP,包括PHP5.2.17和PHP5.3.5的配置方法。 首先,确保你的系统已经安装了IIS7。在安装过程中,记得勾选CGI、ISAPI...

    后盾网_IIS环境下PHP开发环境安装

    在IT行业中,构建一个高效的开发环境对于PHP程序员来说至关重要,特别是在使用IIS(Internet Information Services)作为Web服务器的情况下。本文将详细阐述如何在IIS环境下搭建PHP开发环境,结合后盾网提供的教学...

    搭建IIS与PHP

    2. 点击右侧的“添加模块映射”,在“请求路径”中输入".php",在“模块”中选择"FastCgiModule",在“可执行文件”中指定PHP的主解释器路径(如:C:\php\php-cgi.exe)。 3. 设置“名称”(如:PHP_via_FastCGI)...

    win2008 iis7/iis7.5下最简单最强安装多版本PHP支持环境

    文章通过介绍利用PHP Manager for IIS在Windows Server 2008 R2和IIS7.5环境下安装多版本PHP的步骤,不仅提供了操作流程,而且讲解了如何简化PHP的配置和管理。这为在IIS上进行PHP开发的用户提供了极大的便利,并且...

    Windows Xp + IIS + PHP 环境搭建手册

    点击“配置”按钮,添加新项,执行文件填写`php-cgi.exe`(位于PHP安装目录下),筛选器名称可自定义,如“PHP5”。 最后,我们需要创建一个脚本映射,使得IIS知道如何处理.php文件。再次打开网站属性,这次转到...

    iis+php正确配置方法

    "IIS (Internet Information Services) + PHP"的组合是一种常见的选择,特别是在Windows服务器环境下。本篇文章将详细介绍如何正确配置IIS与PHP,以确保两者能协同工作并提供可靠的Web服务。 首先,我们需要理解IIS...

    IIS支持PHP程序详解

    5. **测试PHP配置**:在网站根目录下创建一个phpinfo.php文件,内容为`<?php phpinfo(); ?>`。访问该文件的URL,如果正确配置,将会显示PHP的配置信息。 **三、优化与安全** 1. **优化性能**:在php.ini中调整PHP...

    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下的php包

    5. **配置IIS与PHP**: 在IIS管理器中,为网站创建一个新的FastCGI设置,指向PHP的`php-cgi.exe`。同时,设置ISAPI筛选器,将PHP解释器添加到IIS处理管道中。 6. **测试PHP安装**: 创建一个简单的`index.php`文件,...

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

    在 IIS 6.0 环境下配置 PHP,需要使用 Fastcgi 方式配置,因为 PHP 5.3.3 已经不再支持 ISAPI 配置。下面是配置的详细步骤: 步骤 1:IIS 6.0 环境配置 首先需要在 IIS 6.0 中启用 Fastcgi 扩展,以便可以使用 ...

Global site tag (gtag.js) - Google Analytics