||  網站導覽  ||  留言版
 
  站長 x 管理人
 
  文章分類
    JAVA
    Database資料庫
    應用程式
    文書處理
    normal一般設定
    Web-design網頁設計
    Virtual Machine虛擬機器
    MIS網管
       Mac
       不分類
       Windows
       Linux
    media多媒體
    未分類
 
 
 
 
在iis6下安裝php5教學(fastcgi)
 
 
 
 
//前置作業==================================================================//
php套件:appserv2.5.10
os:win2003 R2 cht Enterprise 32bit

FastCGI 1.5 for IIS 6 and 5.1
到此下載
http://www.iis.net/download/fastcgi

參考教學http://blog.udn.com/maxmas/3003421

//==================================================================//
一、安裝appserv
快速把appserv2.5.10裝起來
因為目前不會用到,就先把apache服務關掉,(那一天可以再抓出來用^^)

在C:\AppServ\php5下
把php.ini-dist複製一份,並重新命名為php.ini
設定

extension_dir = "C:\AppServ\php5\ext"
include_path = ".;C:\Inetpub\wwwroot"

...

;extension=...
;php-dist.ini預設是所有的extensio都是註解狀態,為了容易區隔,先不動原始的設定
;所以我加在extensio的最下方

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mssql.dll
extension=php_openssl.dll
extension=php_zip.dll

;設定時區
date.timezone = "Asia/Taipei"

;下方是for fastcgi運作不可或缺的
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1;

設定系統變數
在Path 的結尾加上C:\AppServ\php5;
新增一個PHPRC=C:\AppServ\php5

對C:\AppServ\php5加上iis的權限(有玩iis的人應該都知道這啥鬼)


二、安裝FastCGI
再把FastCGI也裝好

檢查iis的「網頁延申服務」是否出現「FastCGI Handler」
如果沒有,就自己加
路徑是C:\WINDOWS\system32\inetsrv\fcgiext.dll

FastCGI參考此安裝教學
在命令提示字元下:
cd %windir%\system32\inetsrv
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\AppServ\php5\php-cgi.exe"

按照教學還有兩個指令要下

cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

作用在於回收php-cgi.exe的程序
參照
Set the FastCGI process pool property InstanceMaxRequests to 10000.
This setting specifies that the FastCGI extension will recycle php-cgi.exe after it has processed 10000 requests successfully.
基本上可以設定為1000以上,只要確定
InstanceMaxRequests<=PHP_FCGI_MAX_REQUESTS即可

參照:
Note: You can configure InstanceMaxRequests and PHP_FCGI_MAX_REQUESTS to use numbers other than 10000.
As a general rule, ensure that the value of InstanceMaxRequests is less than or equal to the value of PHP_FCGI_MAX_REQUESTS.
下完指令後
會自動在「C:\WINDOWS\system32\inetsrv\fcgiext.ini」結尾的[Types]下方
增加
php=PHP

[PHP]
ExePath=C:\AppServ\php5\php-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
...

20160328補充:
設定timeout為60秒
cscript fcgiconfig.js -set -section:"PHP" -ActivityTimeout:60
cscript fcgiconfig.js -set -section:"PHP" -RequestTimeout:60
設定會即時生效

三、設定iis
「網站」=>右鍵「內容」=>「主目錄」=>「設定」=>「對應」
「新增」

執行檔「C:\WINDOWS\system32\inetsrv\fcgiext.dll」
副檔名「.php」
指令動詞「GET,HEAD,POST」

重新啟動IIS,搞定
 
 
 
 
Copyright © 2012 NBOX. All Rights Reserved.