当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    IIS6下配置fastcgi的php的教程

    栏目:win服务器问题汇总 时间:2019-03-10 09:01

    微软去年底发布了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启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.