开发者社区> 技术小胖子> 正文

在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,如需转载请自行联系原作者


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

相关文章
PHP运行时是怎样分配内存的?底层原理是什么?
PHP运行时是怎样分配内存的?底层原理是什么?
15 0
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
230 0
'php' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
'php' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
53 0
实战 - 多容器,Nginx容器灵活切换PHP版本!同时运行多个PHP容器
注意挂载目录不需要同我的命令一致 自己修改 因为默认都是9000端口 所以不能同时运行 ,创建完一个先stop 创建第二个。需要同时运行的看下面的步骤↓↓↓ 运行需要的php版本容器 运行容器后查看容器的ip $ docker inspect php70 查找以下行 “IPAddress”: “172.17.0.2”, 如果要在nginx使用别名去访问 则需要把hosts文件挂载出来 因为修改了nginx配置需要重启机器,手动修改是没用的。! 接着开启nginx容器,然后进入nginx容器,在nginx的配置文件里修改,(我已经挂载在主机本地目录,详细看前一章节)
109 0
php关闭浏览器继续运行
php关闭浏览器继续运行
35 0
运行php代码的几种方式
运行php代码的几种方式
102 0
开发函数计算的正确姿势———为 PHP 运行时添加自定义扩展
PHP 语言提供了一种扩展机制(Extension),通过 PHP 扩展可以增强语法、调用 C/C++ 实现的库函数以及优化执行性能。PHP 扩展是与平台相关的动态链接库,在 Linux 和 Mac 平台是 .so 文件,在 Windows 平台是 .dll 文件。由于函数计算的开发通常在 Mac 和 Windows 平台,而运行时是 Linux(Debain)环境,所以为函数计算 PHP 运行时添加扩展会遇到由于动态链接库平台相关而导致要么本地无法调试,要么远端无法运行的问题。本文介绍借助 Funcraft 工具提供的模拟环境进行 PHP 扩展的安装、本地运行调试以及构建发布。
594 0
phpstorm运行本地PHP服务器,实现小程序可以访问的PHP后台
PHP本地服务器的搭建,可供小程序访问
1580 0
在 Windows 上运行 Nginx、MySQL 和 PHP
本文是关于Wnmp开发环境的快速部署方案,以方便在 Windows 上运行 NGINX、MySQL 和 PHP。本文所涉及的相关文件请移步到我的 github(请点击下面蓝色标题“Wnmp by DocTam”)。
1714 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PHP安全开发_从白帽角度做安全
立即下载
PHP在机器学习上的应用及云深度学习平台的架构设计与实现
立即下载
复杂PHP系统性能瓶颈排查及优化
立即下载
相关实验场景
更多