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.pswp.cn/news/378566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378566.shtml
英文地址,請注明出處:http://en.pswp.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 …