参照http://www.myhack58.com/Article/sort099/sort0100/2012/35579.htm 这篇文章,即可!
前 面我写了《windows安装PHP5.4+Apache2.4+Mysql5.5》的安装教程,本地实现是很简单的,但是有人还是喜欢用IIS来配置 PHP环境,部分朋友找到我问我如何在IIS下配置php环境,为什么按照网上的教程配置不成功呢。那么我在这里简单的讲一下IIS和PHP的配置过程, 数据库的配置就略过了。
注意:
PHP5.3 版本开始是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP文件里面也没有php5isapi.dll,取而代之的是 php5nsapi.dll,换句话说PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,那有没有什么办法让PHP5.3在IIS里运 行的呢,当然有了,那就是FastCGI。
所以网上的很多用ISAPI扩展配置php的教程你可以不用看了,因为你根本不能配置的起来。
选择php的版本:
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,以FastCGI来执行PHP,建议选择Non Thread Safe版本。
第一部分:准备工作。
因为没有windows2003环境,所以我这里用了windows xp sp3,2者的配置一模一样的。
1.windows安装IIS组件,这里略过。
2.安装FastCGI。
网页版在线安装(当然也有下载版本的,自己找找)
3.下载php5.4.8。
第二部分:安装配置php。
1.解压下载回来的php的zip压缩包。比如放在D:/。
2.D:/php下复制php.ini-development文件,并将文件名改为php.ini。
3.修改php配置文件php.ini,保存即可。
第730行 ; extension_dir = "ext" 先去前面的分号再改为 extension_dir = "D:phpext"
第919行 ;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai
第743行 ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
第771行 ;fastcgi.impersonate = 1 去掉前面的分号
第783行 ;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
其他的配置请按照自己的需求更改。(主要是去掉gd,mbstring,mysql三个扩展库前面的分号)
第三部分:配置FastCGI。
1.修改配置文件fcgiext.ini,默认安装在C:WINDOWSsystem32inetsrv文件夹下。
在这个文件的最后加上下面的代码,保存。
php=PHP [PHP] ExePath=D:PHPphp-cgi.exe
2.配置IIS支持FastCGI。
“网站” --- “属性” --- “主目录” --- “配置” ,添加一个新的ISAPI项。
可执行文件:C:windowsystem32inetsrvfcgiext.dll
扩展名:.php
支持index.php默认页
到此配置文成,重启IIS。
4、检测
编写info.php:
<?php
phpinfo();
?>
浏览器输入测试,出现问题:
错误信息
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Number: 14001 (0x800736b1).
Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
HTTP Error 500 – Server Error.
Internet Information Services (IIS)
解决方法:
错误关键在于没有安装VC9运行库 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
安装后即能正常使用了.