我们知道php配置有几种:
1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。
2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。
3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是:高效率,高稳定性,属于将来发展趋势。
我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。
我用的就第三种,也是最好最快的,因为FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,
并具有更高的稳定性和安全性.
下载地址:http://windows.php.net/download/ 里面有好多种,要那种呢?
PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
首先我来解答:
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本;
那Non Thread Safe是什么?
Non Thread Safe就是非线程安全;
Thread Safe 是什么?
Non Thread Safe 是线程安全;
现在的Windows版本可以在PHP官方PHP For Windows(http://windows.php.net/download/)下载,下载的时候同版本有VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe等四个版本。那么这些版本有什么区别呢?
VC9的版本是用legacy VS 2008编译的,VC6的版本是用legacy VS6编译的。
如果你是在windows下使用IIS+PHP的话,你需要下载VC9的版本。
如果你是在windows下使用Apache+PHP的话,你需要下载VC6的版本。
Non Thread Safe是指非线程安全,Thread Safe则是指线程安全。
如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;
而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。
这里我们选择选择Thread Safe 版本的PHP来使用 。
下载安装,我安装默认路径了:
记得选中第三项:IIS FASTCGI
如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了
FastCGI for IIS 6 7 http://www.iis.net/expand/fastcgi
安装好后,继续下一步,我按照默认了:
安装完毕后,就是配置了。
这种配置有两种方法,我用cmd配置,一条命令就行了。
转到刚才安装CGI的目录下:
>cd C:\WINDOWS\system32\inetsrv
>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
注意:path:"xxxx\php-cgi.exe” 是你安装php的目录
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
ok!完毕!
测试下:
新建一个.php文件,里面
<?php
phpinfo();
?>
保存!
运行,出现下面页面,说明配置成功了!
这样的方法 IIS就不用怎么配置,他都会自动配置好了!微软提供的配置更加详细 !
如果按上面的教程配置好后,运行php测试页面,出现了500错误。
那就设置php.ini中的date.timezone项。
我这里设置成上海时区:date.timezone = Asia/beijing
设置完后就一切正常了!
注:以上文章的整理,引用了网络文章,如作者有异议,请联系删除!