1. 准备好完成配置所必须的组件:
a. Window Server 2003(必须打好SP2的补丁)
b. IIS6(这个不用多说)
c. PHP5.3.0(注意:一定要下VC9 Non Thread Safe版本,可获得性能和可靠性双提升)
d. 针对IIS6的FastCGI组件(自从PHP5.3.0开始,由于一直以来PHP+ISAPI的稳定性有问题,在IIS平台上PHP取消了ISAPI模块的支持,只支持FastCGI运行方式,在IIS官方网站下载)
e. VC++ 2008运行时库(自PHP5.3.0开始,PHP提供VC2008编译版,需要安装VC++ 2008的运行库,在微软官网下载)
2. 安装过程
a. 先把IIS6安装完成
b. 安装VC++ 2008运行时库(直接执行安装文件即可)
c. 安装FastCGI组件(直接执行安装文件即可)
d. 解压缩PHP5.3.0至单独文件夹,本文为c:php5
将c:php5路径下的php.ini-production重命名为php.ini
新建一个系统环境变量PHPRC=c:php5
将c:php5添加到Path环境变量中
e. 配置FastCGI组件,打开iis管理界面,网站->属性->主目录->配置->添加
可执行文件框中选择:c:Windowssystem32inetsrvfcgiext.dll
扩展名为:.php
动作:选限制为并输入:GET,HEAD,POST
选中“脚本引擎”和“确认文件是否存在”复选框
最后确定
f. 编辑FastCGI组件的配置文件,使其支持PHP。
用文本编辑器打开c:Windowssystem32inetsrvfcgiext.ini
在[Types]下面增加一行语句:php=PHP
然后增加如下内容:
[PHP]
ExePath=c:php5php-cgi.exe
g. 编辑PHP配置文件
用文本编辑器打开c:php5php.ini
找到[Date]部分,去掉date.timezone参数前的分号,设置date.timezone=Asia/Shanghai
保存并退出
h. 重新启动IIS服务,所有任务->重新启动IIS
i. 在网页主目录中新建文件test.php,写入如下语句:
phpinfo();
?>
并在浏览器中浏览该文件,出现php信息则表示配置成功。
3. 优化配置
a. 增强PHP的安全性
打开c:php5php.ini文件,做如下修改:
safe_mode = On
disable_functions = passthru, exec, shell_exec, system, fopen, mkdir, rmdir, chmod, unlink, dir, fopen, fread, fclose, fwrite, file_exists, closedir, is_dir, readdir, opendir, fileperms, copy, unlink, delfile, popen, COM
expose_php = Off
memory_limit = 512M(内存占用根据实际内存来配置,不要太高也别太低)
default_charset = “gb2312”
doc_root = “E:wwwroot”(你的网页存放的根目录)
extension_dir = “c:php5ext”
cgi.force_redirect = 0
b. 修改FastCGI配置,在[PHP]部分中增加
MaxInstances=20(具体数量根据内存和负载确定,如果为0,系统自动根据负载生成新的进程)
QueueLength=1000(每个进程在返回错误之前可以接受的请求数,根据内存负载配置)
InstanceMaxRequests=10000(每个进程实例可以处理的最大请求数)
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:c:php5(PHP_FCGI_MAX_REQUESTS参数需小于等于InstanceMaxRequests参数的数值)
d. 保存文件,重启IIS
4.安全配置
a.修改php.ini文件,将safe_mode = On
b.将doc_root指定为脚本文档根目录
c.设置disable_functions = passthru, exec, shell_exec, system, fopen, mkdir, rmdir, chmod, unlink, dir, fopen, fread, fclose, fwrite, file_exists, closedir, is_dir, readdir, opendir, fileperms, copy, unlink, delfile, popen, COM