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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03-图像特效

一、灰度处理 方法一:imread方法 彩色图的颜色通道为3,即RGB;而灰度图只有一个颜色通道。 import cv2 img0 cv2.imread(E:\Jupyter_workspace\study\data/cat.png,0) img1 cv2.imread(E:\Jupyter_workspace\study\data/cat.png,1) print…

解析linux根文件系统的挂载过程

------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------ 一:前言前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了…

SIFT讲解(SIFT的特征点选取以及描述是重点)

目录SIFT是什么?尺度空间理论SIFT特征点提取SIFT特征点描述SIFT是什么? SIFT ,即尺度不变特征变换( Scale-invariant feature transform,SIFT) ,一种特征描述方法。具有 尺度鲁棒性 旋转鲁棒性 光照鲁棒性 SIFT本身包括了特征点筛选及特征点…

操作系统多线程实现_操作系统中的线程实现

操作系统多线程实现Each process has an address space. There is one thread of control in every traditional OS. Sometimes, it is viable to have multiple threads of control in the similar address space which is running in quasi-parallel. Though they were separ…

mysql怎么消除冗余,mysql剔除冗余数据

mysql删除冗余数据-- -- 1. 查询冗余数据SELECT t.id FROM t_lifeservice_orders t WHERE t.orderStatus 2 GROUP BY t.channelCode, t.orderNum, t.orderStatus HAVING COUNT(t.orderStatus) > 1;-- -- 2. 定义删除冗余数据存储过程DROP PROCEDURE IF EXISTS proc_delete_…

04-图像的形状绘制

一、线段绘制 cv2.line(dst,(100,100),(400,400),(0,0,255),2,cv2.LINE_AA) 参数一:目标图片数据 参数二:当前线段绘制的起始位置(也就是两点确定一条直线) 参数三:当前线段绘制的终止位置(也就是两点确定…

(1-e^(-j5w))/(1-e^(-jw))=e^(-j2w)*sin(5w/2)/sin(w/2)的证明过程

问题出现:《数字信号处理第三版》第90页刘顺兰版 最后一步怎么得到的? 思路:观察答案,有一个自然对数项。关键就是如何提取出这一项。 我的证明过程如下: 参考链接: 【和差化积】

php 移植 arm 精简,php5.4.5移植到arm-linux摘要,lighttpd配置

php5.4.5移植到arm-linux摘要.因为有嵌入WEB服务的需求,再常识了N多的开源的嵌入服务后最终选择了lighttpd.Apache太大支了,而且在arm上对swf的支持不好.其他的都不怎么理想.lighttpd的移植过程就省略了。这里只摘要了PHP移植,采用fastcgi与lighttpd 协作…

05-图像的美化

一、彩色图片直方图 cv2.calcHist([image],[0],None,[256],[0.0,255.0]) 该方法的所有参数都必须用中括号括起来!!! 参数一:传入的图片数据 参数二:用于计算直方图的通道,这里使用的是灰度直方图&#xff…

java 检查目录是否存在_如何检查Java目录是否存在?

java 检查目录是否存在We are using the File class that is an abstract representation of file and directory path. To check if a directory exists we have to follow a few steps: 我们正在使用File类 ,它是文件和目录路径的抽象表示。 要检查目录是否存在&a…

Eclipse for android 中设置java和xml代码提示功能(转)

1、设置 java 文件的代码提示功能 打开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, 现在将它改为: 以下为引用内容: .a…

MySQL 定时器EVENT学习

MySQL 定时器EVENT学习 MySQL从5.1开始支持event功能,类似oracle的job功能。有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了。如linux crontab功能 。 创建测试表CREATE TABLE t( v VARCHAR(100) NOT NULL…

如何利用FFT(基2时间以及基2频率)信号流图求序列的DFT

直接用两个例子作为模板说明: 利用基2时间抽取的FFT流图计算序列的DFT 1、按照序列x[k]序号的偶奇分解为x[k]和x2[k],即x1[k]{1,1,2,1}, x2[k]{-1,-1,1,2} 2、画出信号流图并同时进行计算 计算的时候需要参考基本蝶形单元: 关键在于 (WN) k…

matlab4.0,matlab 4.0

4.1fort-9:0.5:9if(t>0)y-(3*t^2)5;fprintf(y%.2ft%.2f\n,y,t);elsey(3*t^2)5;fprintf(y%.2ft%.2f\n,y,t);endend编译结果:y248.00t-9.00y221.75t-8.50y197.00t-8.00y173.75t-7.50y152.00t-7.00y131.75t-6.50y113.00t-6.00y95.75t-5.50y80.00t-5.00y65.75t-4.50y…

图形学 射线相交算法_计算机图形学中的阴极射线管

图形学 射线相交算法阴极射线管 (Cathode Ray Tube) Ferdinand Barun of Strasbourg developed the cathode ray tube in the year 1897. It used as an oscilloscope to view and measure some electrical signals. But several other technologies exist and solid state mov…

Constructor总结

一个类如果没有构造那么系统为我们在背后创建一个0参数的构造,但是一旦我们创建了但参数的构造,那么默认的构造就没了。 View Code 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 6 namespace Console…

Python连接MySQL及一系列相关操作

一、首先需要安装包pymysql(python3所对应) 我使用的是Anaconda全家桶,打开cmd,进入Anaconda下的Scripts文件夹下输入命令:pip install pymysql进行下载安装 二、我使用的编译器为Anaconda所带的Jupyter Notebook 1,在mysql中…

微机原理—可编程计数器/定时器8253概念详解

目录前言【1】定时处理方法1、定时的方法:2、定时和计数器【2】8253计数/定时器1、特点:2、芯片引脚以及电路:3、连接方式:4、工作原理:5、寄存器配置a、初始化操作(三个通道单独初始化)b、读出…

php静态分析工具window,window_SpeedPHP框架核心调试工具,在日常的编程开发当中,开发 - phpStudy...

SpeedPHP框架核心调试工具在日常的编程开发当中,开发者经常会使用到对变量的调试,而sp框架提供的变量调试输出函数——dump正好满足了变量调试的需求。下面来介绍一下dump函数的使用方法。dump —— 变量格式化输出函数用法:dump($vars, $out…

python 温度转换程序_Python程序将米转换为码

python 温度转换程序There are many problems where we have to calculate the distance in yards at the end but initially, the measurements are given in meters. So for such type of problems, the solution is converting the initial parameters into yards and then …