Windows 2003+IIS6+PHP5.4+配置PHP支持空间的方法

写在前面
1、如果无论怎么弄都无法让php支持连接mssql
则可以下载 FreeTDS 插件5.3,以便访问 SQL Server 数据库 
php5.2 
Thread Safe 
http://download.moodle.org/download.php/dblib/php52/DBLIB_TS.zip 
NOT Thread Safe 
http://download.moodle.org/download.php/dblib/php52/DBLIB_NOTS.zip
php5.3
Thread Safe
http://download.moodle.org/download.php/dblib/php53/DBLIB_TS.zip
NOT Thread Safe
http://download.moodle.org/download.php/dblib/php53/DBLIB_NOTS.zip


2、如果无论怎么弄都无法让php支持连接mssql 则可以使用sqlsrv来让php连接mssql数据库(亲测php5.3.28可用)
方法:
下载sqlsrv20
http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
Microsoft Drivers for PHP for SQL Server 2.0 -- 可用
Microsoft Drivers for PHP for SQL Server 3.0 -- 不支持windows2003 没有亲测

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:PHPPHPext"

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:WINDOWSsystem32inetsrvfcgiext.ini文件 在文件最后加上下面的语句:
[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)
php=PHP
[PHP]
ExePath=D:PHPPHPphp-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:D:PHPPHP

“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。

4、配置网站
右键网站 => 属性 => 主目录 => 配置 => 添加,
增加扩展名:php
可执行文件路径:C:WINDOWSsystem32inetsrvfcgiext.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”账户,并赋其读取运行权限

FastCGI Error  The FastCGI Handler was unable to process the request.
Error Details: ?The FastCGI process exited unexpectedly  ?
Error Number: -2147467259 (0x80004005). ?
Error Description: δ????????
HTTP Error 500 - Server Error. Internet Information Services (IIS)
可能原因是php.ini里面要设置开启:fastcgi.impersonate = 1

原文地址:https://www.cnblogs.com/ericyuan/p/3793375.html