当前位置:首页 > 服务器技术 > IIS

Windows Server 2003服务器上IIS6.0拥有转发PHP的能力/IIS6.0与PHP共用80端口

原文链接:https://my.oschina.net/ijustdoit/blog/207425 第一步: 分析下系统环境 ?Windows?server?2003?32bit; IIS6.0;?ms?sql?server?2005?mysql
第二步:所用到的工具: fcgisetup_1.5_rtw_x86.msi php-5.3.6-nts-Win32-VC9-x86.msi 相应下载地址: Fcgisetup: http://www.iis.net/download/fastcgi、 PHP: http://windows.php.net/download/ 相关说明: PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6?X86和VC9?X86。
首先我来解答:
VC6是什么?
VC6就是legacy?Visual?Studio?6?compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the?Visual?Studio?2008?compiler,就是用微软的VS编辑器编译的。 那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在 windows下使用IIS+PHP的,请选择VC9版本; 那Non?Thread?Safe是什么?
Non?Thread?Safe就是非线程安全;
Thread?Safe?是什么?
Non?Thread?Safe?是线程安全;

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI(无论搭配IIS?6?或IIS?7)执行PHP?,都建议下载、执行non-thread?safe?的PHP?(PHP?的二?位?有??包?方式:msi?、zip?,?下?zip?套件)所以我们 选择NO-Thread Safe 版本的PHP来使用
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread?Safe的PHP。 ??内容参考: http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html ? 第三步:安装方法
?
  1. 首先安装:FastCGI安装完毕之后(如果电脑己安装这个就进行第二步)
  2. 安装后在C:WINDOWSsystem32inetsrv 目录下产生了五个文件。如下图:
  3. fcgiext.dll?fastcgi处理程序
  4. fcgiext.ini?配置文件
  5. fcgiconfig.js?FastCGI的控制脚本
  6.  
  7. 同时在IIS的“Web服务扩展”里多了FastCGI Handler。
  8.  
相关知识: 我们知道php配置有几种: 1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。 2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。 3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是: 高效率,高稳定性,属于将来发展趋势。 我试过其他的特别麻烦,PHP?5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。 我用的就第三种,也是最好最快的,因为 FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力, 并具有更高的稳定性和安全性. ? ?
  1. 安装PHP5.3 我选择择了默认路径C:Program FilesPHP
?
  1. 注册 PHP  FastCGI
  2.  
  3. 两种方法: 1. 全命令行:
  4. 开始-运行-cmd-cd
  5. 转到刚才安装FastCGI的目录下:  
  6.  
  7. >cd C:WINDOWSsystem32inetsrv
  8.  
  9. >cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:Program FilesPHPphp-cgi.exe"
  10.  
  11. 注意:path:"xxxxphp-cgi.exe”是你安装php的目录
  12.  
  13. > cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
  14. > cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
  15. 效果图:
  16. 这种方法我在第二步:输入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:Program FilesPHPphp-cgi.exe"  结果返回不成功。但我没有管也把剩下的命令也执行了。
  17. 如果这种方法不出错那就说明己可以了,但我又找到一种手动配制的方法,并且成功
  18.     
  19.     2. 手动注册
打开C:WINDOWSsystem32inetsrvfcgiext.ini?文件。 ;?This?is?the?configuration?file?for?the?FastCGI?handler?for?IIS?6.0.
;?The?FastCGI?handler?will?look?for?this?file?in?the?same?directory?as
我个人的理解是,只要“Web?服务扩展”里的FastCGI?Handler?为允许时,在加载fcgiext.dll?时,会读取fcgiext.ini?配置文件的内容,根据里面的配置为每个网站提供映射。 在[Types]?下添加以下配置: [Types]
php=PHP [PHP]
ExePath=C:PHPphp-5.2.14-Win32php-cgi.exe “php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。 C.开始配制网站 在IIS里面来配制网站的具体方法我就不多说了,很傻瓜式的。但要改点东西: 右键网站=>?属性=>?主目录=>?配置=>?添加,如下图配置: 可执行文件路径:C:WINDOWSsystem32inetsrvfcgiext.dll
  1. 差不多到这儿,整个过程己结束。但我还是?嗦下关于PHP与Mysql结合的问题。这可也能是很多起初想让IIS拥有解析PHP能力的构想者所担心的问题。到时候怎么配数据库啊。…… 
我一开始也是这样想的,?但我问了几个学长,他们都有说。webserver?与数据库是两个概念,不用去担心数据库,你平时什么语言的网站怎么配数据库,在这里面还是一样。所以Mysql的数据库配置字符串修改位置:./inc/sqlconnect.php? 在说明点。Mysql数据库是文件型的数据库,他的文件附加就是拷贝后缀名为:.frm?.MYD.MYI??这样的文件到Mysql安装目录里的data文件下。建个文件夹就OK? 作者阿豆工作室刘元军,博主只负责在这里与大家知识共享~

转载于:https://my.oschina.net/ijustdoit/blog/207425


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!