Windows Server 2003下安装PHP5.3.2+ZendCore2.5.2+MySQL5.1.44
2010-10-30 王健宇 service
Windows Server 2003(IIS 6)下安装FastCGI+PHP5.3.2+WinCache+ZendOptimizer3.3.3+ZendCore2.5.2+MySQL5.1.44+PhpMyAdmin3.3.1
注意:经过测试,如果要安装ZendOptimizer,那么PHP的最高版本只能去到PHP5.2.6(查看
ZendOptimizer有没有安装成功可以看phpinfo中有没有ZendOptimizer项,如果只有ZendEngine而没有
ZendOptimizer那ZendOptimizer就是没有安装成功),而且装了ZendOptimizer后就不能安装WinCache,或者说
安装了WinCache也不起作用。另外除了FastCGI外,其他的软件都可以通过ZendCore来自动安装,可以说比较快捷,至于版本看了好像都不
是最高版本,可能要选择比较稳定的版本吧。
1. 准备好完成配置所必须的组件:
a. Window Server 2003(必须打好SP2的补丁)
b. IIS6(这个不用多说)
c. PHP5.3.2(注意:一定要下VC9 Non Thread Safe版本,可获得性能和可靠性双提升)
d. 针对IIS6的FastCGI组件(自从PHP5.3.0开始,由于一直以来PHP+ISAPI的稳定性有问题,在IIS平台上PHP取消了ISAPI模块的支持,只支持FastCGI运行方式,在IIS官方网站www.iis.net下载)
e. VC++ 2008运行时库(自PHP5.3.0开始,PHP提供VC2008编译版,需要安装VC++ 2008的运行库,在微软官网下载,如果不安装这个,那么安装PHP5.3.2 VC9 NTS版本后在浏览器运行PHP程序会出错)
2. 安装过程
a. 先把IIS6安装完成
b. 安装VC++ 2008运行时库(直接执行安装文件即可)
c. 安装FastCGI组件(直接执行安装文件即可)
d. 配置FastCGI组件,打开iis管理界面,网站->属性->主目录->配置->添加
可执行文件框中选择:c:\Windows\system32\inetsrv\fcgiext.dll
扩展名为:.php
动作:选限制为并输入:GET,HEAD,POST(或选全部也可)
选中“脚本引擎”和“确认文件是否存在”复选框
最后确定
e. 安装PHP5.3.2至单独文件夹(以前版本说最好不要安装在C:\Program
Files这样的目录,因为读文件时会有问题,新版本已经不存在这样的问题,不过还是安装在一个独立的目录好了,本文选择安装在D盘的一个单独目录,为
d:\php),安装时服务器选IIS(FastCGI)
新建一个系统环境变量PHPRC=d:\php
将d:\php添加到Path环境变量中(右键“我的电脑”选“属性”,“高级”里面有“环境变量”选项)
f. 编辑FastCGI组件的配置文件,使其支持PHP。
用文本编辑器打开c:\Windows\system32\inetsrv\fcgiext.ini
在[Types]下面增加一行语句:php=PHP
然后增加如下内容,形如:
[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:D:\PHP\
g. 编辑PHP配置文件
用文本编辑器打开d:\php\php.ini
找到[Date]部分,去掉date.timezone参数前的分号,设置date.timezone=Asia/Shanghai
保存并退出,设置如下:
default_socket_timeout = 60
upload_tmp_dir="D:\PHP\uptemp"
session.save_path="D:\PHP\temp"
error_log="D:\PHP\temp\php-errors.log"
cgi.force_redirect=0
fastcgi.impersonate=1
fastcgi.logging=0
extension_dir="D:\PHP\ext"
date.timezone = Asia/Shanghai
date.default_latitude = 31.7667
date.default_longitude = 121.4500
h. 解压 wincache53_rc.exe ,把 php_wincache.dll 拷贝至 D:\Program Files\PHP\ext,
并在 php.ini 最后 添加如下:
[PHP_WINCACHE]
extension=php_wincache.dll
i. 安装zend optimizer 以及 zend cor
j. 重新启动IIS服务,所有任务->重新启动IIS
k. 在网页主目录中新建文件test.php,写入如下语句:
phpinfo();
?>
并在浏览器中浏览该文件,出现php信息则表示配置成功。
3. 优化配置
a. 增强PHP的安全性
打开d:\php\php.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 = "d:\php\ext"
cgi.force_redirect = 0
b. 修改FastCGI配置,在[PHP]部分中增加
MaxInstances=20(具体数量根据内存和负载确定,如果为0,系统自动根据负载生成新的进程)
QueueLength=1000(每个进程在返回错误之前可以接受的请求数,根据内存负载配置)
InstanceMaxRequests=10000(每个进程实例可以处理的最大请求数)
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:d:\php(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
附送两个.bat
start_php.bat 内容详情
@ECHO OFF
ECHO Starting PHP FastCGI
RunHiddenConsole.exe D:\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\php\php.ini
stop_php.bat 内容详情
@ECHO OFF
ECHO Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
发表评论:
昵称
邮件地址 (选填)
个人主页 (选填)