windows 2003安装PHP的FastCGI模式

以前一直使用sapi的方式来在windows服务器的iis上执行php,一直也是推荐这种方式,但自windows 2008以及高版本php开始后官方开始推荐fastcgi模式,自己内心比较排斥这种方式(没来由的)。

今天接到托管商要求用户访问记录端口留存(估计可能因为打击传谣而起的),才发现,运行在sapi模式下的php无法获取$_SERVER['REMOTE_PORT']变量。

没办法,只能更改运行方式了。

首先因为历史和时间原因,很多程序很老了,高版本的php可能有兼容问题,因此还是使用php5.2版本。

先是安装IIS6的FCGI组件,在 http://www.iis.net/download/fastcgi 进行下载,直接安装就可以。

其次是安装PHP,在 http://windows.php.net/download/ 找到对应版本

我推荐安装php不要将任何文件放到非php目录(比如dll文件,比如php.ini文件等),这样做主要是为了保证未来升级的方便性。
一般我是这样做:
1.先指定php.ini 以及 php的安装路径。可以看一下这里 http://www.deepseath.com/?p=1059
2.确保安装了 VC 库,在早期版本php可能没问题,但还是推荐安装 参看 http://www.deepseath.com/?p=858

PHP的相关配置根据自己需要进行配置就可以,没特别的硬性要求。
大体上配置:
1。extension_dir 目录
2。修改默认的时区

安装后,主要是检查iis的“Web服务扩展”是否有“FastCGI Handler”且允许状态。并且配置php的执行文件为:C:\WINDOWS\system32\inetsrv\fcgiext.dll

最后修改一下fastcgi的配置文件:C:\WINDOWS\system32\inetsrv\fcgiext.ini
在最下面的[Types]后面加入:
php=PHP

[PHP]
ExePath=php的安装路径\php-cgi.exe
InstanceMaxRequests=10000
;MaxInstances=64
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
RequestTimeout=30(默认是30,我推荐900或者3000)
ActivityTimeout=30

如果需要也可以安装一个wincache,在 http://www.iis.net/download/WinCacheForPHP

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号-1  津公网安备 12010302001005号