1、下载php
http://windows.php.net/download/
ISAPI + Thread Safe FastCgi + No Thread Safe PHP程序从PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,所以在PHP5.3+压缩包下载解压后的文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll。
使IIS6支持FastCgi
http://www.iis.net/downloads/microsoft/fastcgi-for-iis
安装扩展后在IIS 的 “Web 服务扩展”里启用
①如何选择PHP5.4.10的VC6版本和VC9版本
VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。
选择的原则:
1。在windows下使用Apache+PHP的,请选择VC6版本;
2。在windows下使用IIS+PHP的,请选择VC9版本;
②如何选择PHP5.4.10的Thread Safe版本和Non Thread Safe版本
从字面上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。
Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
2、配置PHP
PHP5.4.10安装目录下是没有PHP.ini这个文件的,只有php.ini-development和php.ini-production,我们将php.ini-development复制一个,然后重命名为 php.ini
打开php.ini, 修改PHP.ini文件:
1。查找display_errors改为:display_errors = On
2。查找display_startup_errors改为:display_startup_errors = On
3。查找error_prepend_string改为:error_prepend_string = "<br><font color=#ff0000>"
4。查找error_append_string改为:error_append_string = "</font><br><br>"
5。查找extension_dir改为:extension_dir = "D:\PHP\PHP\ext\"
6。查找fastcgi.impersonate改为:fastcgi.impersonate = 1
8。查找date.timezone改为:date.timezone = PRC
7。下列代码按下修改,在Windows Extensions中去除扩展前面的分号(;)
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mcrypt.dll
extension=php_pdo.dll
如果ext里面有php_com_dotnet扩展,再增加一行
extension=php_com_dotnet.dll
8。查找date.timezone改为:date.timezone = PRC
3、注册 PHP 到 FastCGI
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件 在文件最后加上下面的语句:
[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)
php=PHP
[PHP]
ExePath=D:\PHP\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:D:\PHP\PHP
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
4、配置网站
右键网站 => 属性 => 主目录 => 配置 => 添加,
增加扩展名:php
可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
限制为:GET,HEAD,POST
5、配置PHP后,运行phpinfo.php程序,出现如下的错误提示。
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 - Server Error. Internet Information Services (IIS)
原因是要继续为php安装目录增加“Network Server”账户,并赋其读取运行权限