win2003 IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)

直入正题。

这个环境的部署很有讲究,折腾了一天,大概说一下思路:

自从哪个PHP的版本开始(5.2也不知道多少),就分了thread-safe版和non-thread-safe版,简称就是ts和nts版本,还区分了VC6和VC编译的版本,我作一下解释。(可以参见官方:http://windows.php.net/)

VC6是用在Apache服务器上的,而VC9则适用于IIS,这个比较明确,官方也给了明确说明。

ts和nts版本就比较讲究了。这个大家可以参考(http://blog.163.com/daizhen_dz@yeah/blog/static/129411342201042992157604/),我也是从这里学习到的。

IIS添加fastCGI模块,使其能够得以运行,再配置fastCGI的配置文件,添加对php-cgi.exe的支持。
结论就是,以fastCGI方式运行PHP会得到性能和资源的平衡。

MVC3的站,大都是通过没有后缀的方式请求的(controller/action的形式),我的解决方式我认为很合理:在PHP站中什么都不改,而针对.NET 4.0的站,添加对*(所有请求)请求的拦截处理,使用aspnet-isapi来处理请求,这样既不影响PHP性能(不会先经过aspnet的isapi处理),也不影响.NET站的运行。

环境需要以下资源:

  1. fastCGI for IIS(微软官方有下)
  2. .NET 4.0 Runtime(官方有下)
  3. PHP 5.3.3(为什么要这个版本,后续会解释,下载需要从php.net中windows的PHP里,archives中找,http://windows.php.net/downloads/releases/archives/)
  4. eAccelerator binary for PHP 5.3.3(一开始果断装了最新版的5.4.12,但是eAccelerator自己编译有点麻烦,官方的安装教程是源码安装的,但是服务器上哪来的VS,所以就通过二进制安装,直接找编译好的

对于以上环境做一些解释

  1. 只要是.NET 4.0,就不需要额外安装MVC3了,里面自带了,如果是4.0以下版本,还需要装MVC
  2. PHP和eAccelerator的版本是很有讲究的。官方的安装教程(https://github.com/eaccelerator/eaccelerator/wiki)教你的是从源码安装,linux下很合理,windows服务器上哪来的VS给你编译,所以就开始找binary版本(编译好的DLL)了,渠道可以参考官方的(https://github.com/eaccelerator/eaccelerator/wiki/InstallFromBinary)。
    我是从http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds 这里下载的,这个哥们编译了好多版本的eAccelerator,但是最新的版本也只能支持到PHP 5.3.3。
    我尝试了用5.4.12加载eAccelerator for PHP 5.3.3,结果证明不行,PHP错误日志输出版本不匹配,也尝试了低版本的PHP,依然不行。因此我还是将PHP降级到5.3.3,运行后成功。

具体安装步骤比较复杂,我写个简明版的。。主要就是些配置方面的东西,关键要把原理搞明白。

  1. PHP下好,放在c:\php里,PHP配置不详解了,再配个eAccelerator。
  2. 安装IIS,记得把ASP.NET勾上
  3. 打开IIS,添加fastCGI扩展(IIS7默认就带的,win2003的IIS6得自己配上),不会的话网上搜
  4. 让fastCGI支持php cgi扩展。
    打开C:\WINDOWS\system32\inetsrv,这是IIS fastCGI的目录,修改fcgiext.ini文件,末尾添上

    [Types]
    php=PHP[PHP]
    ExePath=C:\PHP\php-cgi.exe
    InstanceMaxRequests=10000
    ActivityTimeout=600
    RequestTimeout=600
    EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\PHP\
  5. 添加PHP网站,啥都不用配就行了
  6. 添加.NET网站。选好ASP.NET版本,假设4.0。为了能处理没有后缀的请求,在”主目录”里”配置”,”映射”,下面那块”通配符应用程序映射”,添加一条 “C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll“,然后取消勾选”检查文件是否存在”。

基本就是这个过程了,这样就达到了既能跑.NET站,也能跑PHP站的目的了。

posted on 2013-04-22 11:26 原版橘子皮 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sy890622/archive/2013/04/22/3403057.html

win2003 IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)相关推荐

  1. 在 IIS6 配置使用php的fastcgi模式

    今天搭建网站的时候,需要配置网站的php运行环境为fastcgi模式,以往的网站都是采用isapi模式搭建的,既然是第一次遇到这样的问题,肯定是能学到东西了,我就自己搭建了一下,没想到成功了,呵呵,现 ...

  2. win2003 iis运行php环境,win2003 IIS6.0配置php环境如何加载php5isapi.dll

    因为我自己是windows 2003+iis我想在上面可以运行php那我休安装了php环境,然后再加载php5isapi.dll就可以,说起来简单但是不成功,下面看我的解决办法. 首先,从PHP官方网 ...

  3. win2003 IIS6,能访问html页 但是不能访问aspx页解决办法汇总

    win2003 sp2 系统.装上IIS6后,html正常访问,但是aspx页就是访问不了,日志文件也不做任何问题的记录. 全是网上资料,放一起,方便查找. 描述下目前遇到的问题: win2003 s ...

  4. iis只能访问html页面,win2003 IIS6,能访问html页 但是不能访问aspx页解决办法汇总

    win2003 sp2 系统.装上IIS6后,html正常访问,但是aspx页就是访问不了,日志文件也不做任何问题的记录. 全是网上资料,放一起,方便查找. 描述下目前遇到的问题: win2003 s ...

  5. IIS6配置Asp.net MVC运行环境

    Windows server 2003 + IIS6 搭建Asp.net MVC运行环境 1.安装.Net Framework4.0.  下载地址: http://www.microsoft.com/ ...

  6. iis7 php5 isapi配置,Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

    说到PHP环境配置与安装,通常以Apache搭载PHP配置为主,随着PHP版本不断更新,对Windows IIS平台的支持也越来越好,在Windows IIS平台上配置安装PHP环境也越来越方便. 在 ...

  7. isapi mysql_Windows 2008R2以ISAPI和Fastcgi方式安装配置IIS、PHP、Mysql环境

    Windows下PHP有两个版本,非线程安全及线程安全版本,运行方式可选ISAPI.Fastcgi.CGI.1.Non Thread Safe版本php适用于以CGI以和fastCGI运行的web服务 ...

  8. win2003配置apache支持php_asp,Win2003下配置asp+cgi+php+mysql

    WIN2003下配置ASP CGI PHP环境(1) 我们要使IIS实现ASP,CGI,PERL和PHP 所需软件(都要是For Windows的): ActivePerl.PHP,ASP(WINDO ...

  9. Apache 配置------FastCGI方式使用PHP(包含:linux下编译安装fmod_fcgid,配置apache以支持FastCGI)

    本文用于记录Apache配置 FastCGI方式运行PHP(使用非线程安全版本) 下文包含如下内容: 1 linux下编译官网提供的最新版fmod_fcgid源码为os,方便linux或者window ...

最新文章

  1. 计算机网络技术包括哪几种,计算机网络技术包含的两个主要技术是计算机技术和( )。...
  2. STM32的SPI问题。
  3. windows7下消除快捷键箭头的方法
  4. 算力云服务器是干啥的,云服务器将成趋势计算力和安全性是考验
  5. Oracle10g数据库的完全卸载:
  6. linux ssh环境,在Linux下ssh 环境的登录 和 文件拷贝
  7. android开发蓝牙快速读写有问题,【报Bug】安卓低功耗蓝牙写入时10007,特征无写入权限,IOS正常读写...
  8. Eclipse Scout架构商业应用开发的工具与环境
  9. Socket层实现系列 — I/O事件及其处理函数
  10. java职业规划怎么写_java个人职业生涯发展规划书范文
  11. artDialog--经典的网页对话框组件
  12. 靠谱的社交app有哪些
  13. 《杀死一只知更鸟》哪个译本好?
  14. HTML/CSS class6 table布局
  15. Mysql基础篇(3)—— MySQL数据库类型
  16. H5 LayaAir实现复制微信号到剪切板功能
  17. 小飞鱼通达二开 通过开发工作流接口集成ERP系统(图文)
  18. 香港计算机翻译博士,香港城市大学博士offer一枚-指南者留学
  19. 网站调整为黑白的方法
  20. 学什么编程语言以后不会过时?

热门文章

  1. Java中的传值与传引用
  2. python字符串长度_如何使用python获取字符串长度?哪些方法?
  3. 计算机基础知识:什么是位、字节、字、KB、MB
  4. Python应用实战-用Python爬取数据分析岗位信息并可视化分析
  5. jq的插件 vue中引用_详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
  6. 在地图上 添加柱状_如何做出一份惊艳的PPT地图页?这2个字,你一定要知道!...
  7. 七夕(情人节)表白女朋友,程序员应该如何装一波13
  8. linux 秒数转时间格式,通过delphi将秒数转换成日期格式
  9. php 文件内容对比,php 比较两个文件是否相同
  10. 前端工程师和设计师必读文章推荐【系列三十六】