设为首页 收藏本站
查看: 841|回复: 0

[经验分享] 在IIS 5.1 或IIS6 中配置PHP 的FastCGI模式

[复制链接]

尚未签到

发表于 2017-2-13 09:33:42 | 显示全部楼层 |阅读模式
  在IIS 5.1 或IIS6 中配置PHP 的FastCGI模式
  一、FastCGI是什么?  FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等等。
  二、FastCGI的工作原理:
  1、Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
  2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
  3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
  4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回WebServer。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。

  在上述情况中,你可以想象CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent databaseconnection)可以工作。
  三、在IIS 5.1 或IIS6 中配置PHP 的FastCGI模式
  假设你已经成功安装微软的IIS 5.1 或 IIS 6,接下来讲解如何配置PHP 的FastCGI 模式。
  首先,先安装适用于 IIS 5.1 或 IIS 6 的FastCGI 扩展。请到下面的链接下载相关FastCGI 扩展:
  http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521
  但你运行FastCGI 扩展安装程序时,它拷贝下列文件到"%WINDIR%/system32/inetsrv" 文件夹,并注册开启IIS 支持FastCGI 扩展。该安装程序将拷贝的文件列表是:
  fcgiext.dllfcgiext.ini ,fcgiconfig.js
  其次,下载安装PHP。上一步安装的FastCGI 扩展完全兼容 PHP 4.4.x 和 PHP 5.x ,请你到http://www.php.net/downloads下载并安装non-thread-safe PHP build available for Windows
  第三,配置FastCGI 扩展与PHP 协同工作。
  方法一:使用脚本来自动配置。
  在CMD 命令行里进入"%WINDIR%/system32/inetsrv" 目录,执行如下命令:
  cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:/PHP/php-cgi.exe"

  cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:/PHP/php-cgi.exe" –site:1
  方法二:手动配置
  1.在“开始”菜单“运行”里运行inetmgr.exe,然后双击本地电脑图标,右击“网站”选择“属性”,单击“主目录”选项,点击“配置”按钮,单击”添加“按钮,单击”浏览“ 在 %WINDIR%/system32/inetsrv里寻找fcgiext.dll
  2.在扩展名里输入 .php , 动作选择”限制为“,输入”GET,HEAD,POST“。确认”脚本引擎“和”检查文件是否存在“是否选择,如没选中,请选中。确认无误后,单击”确定“。

  3.配置fcigext.ini(温馨提示:它在%WINDIR%/system32/inetsrv目录里)
  简单的在fcigext.ini末尾添加如下内容即可:
  [Types]

php=PHP
  [PHP]

ExePath=c:/php/php-cgi.exe
  修改好fcigext.ini,保存之。重启IIS 5.1 或 IIS 6 就可以使用PHP 的FastCGi了。
  第四,写个简单的脚步测试PHP FastCGI 是否正常工作了。
  在C:/Inetpub/wwwroot 目录创建info.php 文件,打开info.php ,填写如下内容:
  <?php phpinfo(); ?>
  保存info.php,然后在浏览器地址栏里输入http://localhost/info.php回车便可看到如下页面:


  OK!一切搞定,祝你在学习配置PHP FastCGI 中顺利!
  最后,如你认为对你有所帮助,请收藏之吧。如需转载,请注明来处:http://hi.baidu.com/usen68/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-341314-1-1.html 上篇帖子: Asp.Net配置Web.Config更改默认上传文件大小限制!(适用于win7\win2003的IIS) 下篇帖子: IIS服务器错误Server Application Error最有效最详细的解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表