失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > win IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)

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

时间:2023-05-27 18:39:44

相关推荐

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

win IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ 4.0(MVC3)

直入正题。

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

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

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

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

IIS添加fastCGI模块,使其能够得以运行,再配置fastCGI的配置文件,添加对php-cgi.exe的支持。

结论就是,以fastCGI方式运行PHP会得到性能和资源的平衡。

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

环境需要以下资源:

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

对于以上环境做一些解释

只要是.NET 4.0,就不需要额外安装MVC3了,里面自带了,如果是4.0以下版本,还需要装MVC PHP和eAccelerator的版本是很有讲究的。官方的安装教程(/eaccelerator/eaccelerator/wiki)教你的是从源码安装,linux下很合理,windows服务器上哪来的VS给你编译,所以就开始找binary版本(编译好的DLL)了,渠道可以参考官方的(/eaccelerator/eaccelerator/wiki/InstallFromBinary)。

我是从/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,运行后成功。

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

PHP下好,放在c:\php里,PHP配置不详解了,再配个eAccelerator。 安装IIS,记得把勾上 打开IIS,添加fastCGI扩展(IIS7默认就带的,win的IIS6得自己配上),不会的话网上搜 让fastCGI支持php cgi扩展。

打开C:\WINDOWS\system32\inetsrv,这是IIS fastCGI的目录,修改fcgiext.ini文件,末尾添上

[Types]php=PHP[PHP]ExePath=C:\PHP\php-cgi.exeInstanceMaxRequests=10000ActivityTimeout=600RequestTimeout=600EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\PHP\

添加PHP网站,啥都不用配就行了 添加.NET网站。选好版本,假设4.0。为了能处理没有后缀的请求,在”主目录”里”配置”,”映射”,下面那块”通配符应用程序映射”,添加一条 “C:\WINDOWS\\Framework\v4.0.30319\aspnet_isapi.dll“,然后取消勾选”检查文件是否存在”。

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

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

如果觉得《win IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。