//前置作業==================================================================//
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,搞定