在IIS7上运行PHP功能扩展-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

在IIS7上运行PHP功能扩展

简介:

本文包含了手动设置Internet信息服务(IIS)7.0和更高版本,从而使它们支持PHP在Windows 7中工作,此外本文适合于安装了Windows Vista SP1的Windows Server 2008和Windows Server 2008 R2。 关于IIS 5.1 and IIS 6.0 on Windows XP、 Windows Server 2003的设置方法请参考Microsoft IIS 5.1 and IIS 6.0  (可能为英文)。对于设立在Windows XP和Windows Server 2003 IIS 5.1和IIS 6.0的说明,请参阅微软的IIS 5.1和IIS 6.0  (可能为英文)。

在IIS中启用FastCGI支持

在默认安装的IIS FastCGI模块被禁用。它基于对正在使用的Windows版本不同的步骤来启用。

为了使在Windows Vista SP1和Windows 7的FastCGI支持需要以下操作:

  1. 在Windows开始菜单选择“运行”,在对话框中输入“optionalfeatures.exe”,并点击“确定”;

  2. 在“Windows功能”对话框中,展开“Internet信息服务”,“万维网服务”,“应用程序开发功能”,然后启用“的CGI”复选框;

  3. 点击“确定”,等到安装完成。

如下图所示:

image

为了使在Windows Server 2008和Windows Server 2008 R2的FastCGI支持:

  1. 在Windows开始菜单选择“运行”,输入“CompMgmtLauncher”,并点击“确定”;

  2. 如果目前的“Web服务器(IIS)”的角色,是没有根据的“角色”节点,然后单击“添加角色”,它添加;

  3. 如果在“Web服务器(IIS)”的角色存在,然后单击“添加角色服务”,然后启用“应用开发”组的”CGI”复选框;

  4. 点击“下一步”,然后点击“安装”,并等待安装完成。

 

如下图所示:

image

配置IIS处理PHP请求

下载并安装PHP按照说明书中所述的手动安装步骤 (可能为英文)。

 注意 :

非线程安全的构建PHP的建议时,使用IIS。 非线程安全的版本是可在PHP的Windows二进制文件和源的排放(可能为英文)。

配置在php.ini文件中的CGI和FastCGI具体设置如下所示:

例: php.ini中设置 CGI和FastCGI

 


  1. fastcgi.impersonate = 1fastcgi.impersonate = 1 
  2.  
  3. fastcgi.logging = 0 fastcgi.logging = 
  4.  
  5. cgi.fix_pathinfo=1 cgi.fix_pathinfo = 
  6.  
  7. cgi.force_redirect = 0 cgi.force_redirect0   

 

无论是使用IIS管理器用户界面或命令行工具,配置PHP的IIS处理程序映射。

使用IIS管理器的用户界面,创建一个处理程序映射为PHP

按照这些步骤来创建一个PHP的IIS在IIS管理器用户界面处理程序映射:

  1. 在Windows开始菜单选择“运行”,型“INETMGR”,并点击“确定”;
  2. 在IIS管理器用户界面,选择“连接”的树视图中的服务器节点;
  3. 在“功能视图”页面,打开“处理器映射”功能;

clip_image002[4]

  1. 在“操作”窗格中单击“添加模块映射......”;
  2. 在“添加模块映射”对话框,输入以下内容:
  • 请求路径:* PHP。
  • 模块:FastCgiModule
  • 可执行文件:C:\ [PHP安装路径] \ php-cgi.exe文件
  • 名称:PHP_via_FastCGI 
点击“请求限制”按钮,然后配置只有当请求被映射到一个文件或文件夹映射到调用处理程序; 所有的对话框上点击“确定”保存配置。

如下图所示:

clip_image004[4]

使用命令行工具来创建一个PHP的处理程序映射

使用如下所示的命令,以创建一个IIS FastCGI进程池,这将使用php-cgi.exe文件的可执行文件处理PHP请求。

更换FULLPATH php-cgi.exe文件的文件的绝对路径参数值。

例:创建IIS FastCGI进程池

 


  1. %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^  
  2. /+[fullPath='c:\PHP\php-cgi.exe']  

 

配置IIS处理PHP的具体要求,通过运行如下所示的命令。

更换scriptProcessor php-cgi.exe文件的文件的绝对路径参数值。

例:创建PHP请求的处理程序映射

 


  1. %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^  
  2.  
  3. /+[name='PHP_via_FastCGI'path='*.php',verb='*',modules='FastCgiModule',^  
  4.  
  5. scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']  

 

注:此命令为PHP文件扩展名创建一个IIS处理程序映射,这将导致对所有的URL结尾的PHP 交给FastCGI模块处理。





本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/809850,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: