IIS配置PHP环境(快速最新版)

今天有个小web需要php环境运行,为了配置,下了番苦功!终于可以显示了:

曾祥展

我们知道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 是线程安全;

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)所以我们选择NO-Thread Safe 版本的PHP来使用
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

 

下载安装,我安装默认路径了:

曾祥展

记得选中第三项:IIS FASTCGI

曾祥展

如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了

FastCGI  for IIS 6  7   http://www.iis.net/expand/fastcgi

曾祥展

2-1

安装好后,继续下一步,我按照默认了:

曾祥展

安装完毕后,就是配置了。

这种配置有两种方法,我用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

设置完后就一切正常了!

作者:曾祥展
出处:学无止境-博客园 (http://www.cnblogs.com/zengxiangzhan/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
Twitter  Facebook  Digg  Email  RSS 
posted @ 2010-03-05 16:52 曾祥展 阅读(46960) 评论(42) 编辑 收藏

 回复 引用 查看   
#1楼 2010-03-05 16:59 菩提树下的杨过      
截图的阴影是怎么弄的,别告诉说是PS的?
 回复 引用 查看   
#2楼 2010-03-05 17:14 东方蜘蛛      
Microsoft Web Platform Installer选择安装一个PHP项目,自己就配置好了,呵呵。
 回复 引用 查看   
#3楼 2010-03-05 17:32 坤坤      
不错
 回复 引用 查看   
#4楼 2010-03-05 17:36 Kevan      
MARK,感谢提供IIS+PHP安装教程。
 回复 引用 查看   
#5楼 2010-03-05 18:59 Sunny Peng      
@菩提树下的杨过
http://www.skycn.com/soft/26063.html
我看到这个效果也去找了下,光影魔术手,应该可以,里面有个功能叫“彩棒”,其他部分都是黑白,彩棒选取的部分是彩色,效果跟阴影差不多,不知道博主是不是用这个软件弄的。

 回复 引用 查看   
#6楼[楼主] 2010-03-05 19:45 zengxiangzhan      
@菩提树下的杨过
ps

 回复 引用 查看   
#7楼 2010-03-05 20:32 tianya8710      
mark

 回复 引用 查看   
#8楼 2010-03-06 14:49 seagreen7      
楼主的博文写的不错,模板风格很好看啊,有点像看电影似的。
 回复 引用 查看   
#9楼 2010-03-08 08:38 寒~冰      
不错,没用过PHP
 回复 引用 查看   
#10楼 2010-04-07 22:52 华丽的空白      
LZ ,按你说的安装完毕,在cmd里面运行cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 这句话后,显示 C:\WINDOWS\system32\inetsrv\fcgiconfig.js<1348,5> <null>:Section already exists, section=PHP 信息 ,PHP页面也无法浏览,请问是什么问题
 回复 引用 查看   
#11楼[楼主] 2010-04-08 11:58 zengxiangzhan      
@华丽的空白
对应安装目录没?

 回复 引用 查看   
#12楼 2010-04-26 17:46 上不了岸的鱼      
呵呵,楼主有一个地方讲的有问题:
=================================================
“官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。”
=================================================


官方【微软】的建议恰恰相反,为了更好的性能推荐使用Non Thread Safe版本。因为PHP本身是为多进程设计的,在Windows平台上面运行PHP,多线程本身就是不安全的,微软的答案是使用“Fast CGI”来保证Thread Safe,所以使用Non Thread Safe版本可以带来更高的性能。

 回复 引用 查看   
#13楼 2010-04-26 23:40 c161-2000      
按照楼主的步骤作了,但出现如下问题:
C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension
:php -path:"C:\Program Files\PHP\php-cgi.exe"
'cscript' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension
:php -path:"C:\Program Files\PHP\php-cgi.exe"
'cscript' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -set -section:"PHP" -InstanceM
axRequests:10000
'cscript' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -set -section:"PHP" -Environme
ntVars:PHP_FCGI_MAX_REQUESTS:10000
'cscript' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\WINDOWS\system32\inetsrv>
请问高手如何处理呢?我安装的是fcgisetup_1.5_rtw_x86

 回复 引用 查看   
#14楼[楼主] 2010-04-27 15:06 zengxiangzhan      
@上不了岸的鱼
已改!谢谢指正!

 回复 引用 查看   
#15楼[楼主] 2010-04-27 15:08 zengxiangzhan      
@c161-2000
先用 cd 命令转到相应目录下

 回复 引用   
#16楼 2010-11-08 17:09 iseeyo[未注册用户]
文中说“請下載 zip 套件”不过教程里面明明是msi版的啊。还有cmd命令,不是说只要执行一条吗,那后面几条都要执行吗
 回复 引用   
#17楼 2010-12-22 11:59 不能用[未注册用户]
显示fcgiconfig.js<1326,5>
 回复 引用 查看   
#18楼[楼主] 2010-12-22 17:03 曾祥展      
@不能用
PHP 安装平台这个安装很好 不用配置什么 简单方便

 回复 引用   
#19楼 2010-12-24 22:02 dddssssssss[未注册用户]
c:\windows\system32\inetsrv\fcgiconfig.js<40,1> Microsoft JScript 运行时错误 utomation 服务器不能创建对象
 回复 引用   
#20楼 2010-12-30 11:35 fsafasfasfsaf[未注册用户]
输入错误: 无法找到脚本文件“C:\Windows\System32\inetsrv\fcgiconfig.js”
这BLOG好漂亮啊
 回复 引用 查看   
#22楼 2011-03-25 15:34 testzhangsan      
请教楼主,这种方式是让IIS来支持PHP,而且我的IIS也能运行PHP了,还能让Apache支持PHP吗?如果可以,该怎么配置呢?
 回复 引用 查看   
#23楼 2011-03-30 10:49 sasha      
为什么执行后提示错误



C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension
:php -path:"C:\Inetpub\PHP\php-cgi.exe"
Microsoft (R) Windows Script Host Version 5.7
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

C:\WINDOWS\system32\inetsrv\fcgiconfig.js(1348, 5) (null): 0xFFFFFFDF

 回复 引用   
#24楼 2011-03-31 15:08 托尔斯泰[未注册用户]
我也是遇到这个问题:
C:\WINDOWS\system32\inetsrv\fcgiconfig.js(1326, 5) (null): 0xFFFFFFDF
以前都正常安装过,现在就报这个错误

 回复 引用   
#25楼 2011-04-20 16:37 富脉软件[未注册用户]
PHP没问题了,我的MYSQL装不上了


感谢楼主

 回复 引用   
#26楼 2011-04-21 10:45 sweer[未注册用户]
你那个小WEB也支持ASP的,干嘛样装PHP。
 回复 引用   
#27楼 2011-04-28 10:44 顶级菜鸟[未注册用户]
windows 7 系统下选择msi安装文件配置,选择fastcgi,然后直接用就可以了,不需要在执行cmd命令
 回复 引用 查看   
#28楼 2011-05-06 14:06 kenty06      
@c161-2000
原因:
系统安装Dreamwear、UltraEdit、EditPlus后修改了.js文件的默认打开方式。当想直接执行js脚本时就会出现此错误。
解决办法:
打开注册表编辑器,定位[HKEY_CLASSES_ROOT.js]这一项,双击默认值将其改为“JSFile”即可。如图所示

 回复 引用   
#29楼 2011-05-13 18:45 将军66[未注册用户]
不得不顶啊,太牛B啦
 回复 引用   
#30楼 2011-05-13 18:46 将军666[未注册用户]
web.037x.com 摘走啦,呵呵
 回复 引用   
#31楼 2011-05-17 13:13 那年的坏人[未注册用户]
学习,LZ真厉害
 回复 引用   
#32楼 2011-05-23 09:51 小书包[未注册用户]
LZ ,按你说的安装完毕,在cmd里面运行cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 这句话后,显示 C:\WINDOWS\system32\inetsrv\fcgiconfig.js<1348,5> <null>:Section already exists, section=PHP 信息 ,PHP页面也无法浏览,请问是什么问题

 回复 引用 查看   
#33楼 2011-05-23 13:04 yyyzy1234      
C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension
:php -path:"C:\Program Files\PHP\php-cgi.exe"
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

C:\WINDOWS\system32\inetsrv\fcgiconfig.js(1326, 5) (null): Section already exist
s, section=PHP


 回复 引用 查看   
#34楼 2011-06-01 16:16 flay      
感谢楼主啊
 回复 引用   
#35楼 2011-09-21 10:14 冰心12[未注册用户]
不错,推荐小站
http://www.jvniu.com

 回复 引用   
#36楼 2011-09-21 10:14 冰心12[未注册用户]
http://www.jvniu.com
 回复 引用   
#37楼 2011-10-01 12:54 亿码网络[未注册用户]
文章写得很好啊,我也准备建一个。
http://www.zhyima.com
http://www.yhk158.com

 回复 引用   
#38楼 2011-11-01 16:10 Tire Changer[未注册用户]
文章写得很好啊
 回复 引用 查看   
#39楼 2011-12-05 19:25 安生。      
输入错误: 无法找到脚本文件“C:\Windows\System32\inetsrv\fcgiconfig.js”。
 回复 引用   
#40楼 2011-12-16 12:39 bulodao.com[未注册用户]
好文章,对初学者很有帮助。
www.bulodao.com表示感谢

 回复 引用   
#41楼 2012-01-28 17:48 默默哈[未注册用户]
C:\WINDOWS\system32\inetsrv\fcgiconfig.js(1326, 5) (null): Section already exists, section=PHP

请问这是怎么回事呢?

 回复 引用   
#42楼 2012-02-09 15:12 嘿门[未注册用户]
输入错误: 无法找到脚本文件“C:\Windows\System32\inetsrv\fcgiconfig.js”。
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1679286 sxCmSu6kXfc=