PHP5.3.x 连接MSSQL2008

  在Window环境下,php5.3.x不再支持php_mssql.dll 扩展,即使使用php5.2.x中的php_mssql.dll 也无法使用。而PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server。但是貌似这个dll只能用来连接低版本的Sql server2000或以下版本,在Sql server 2005及以上版本则根本无法使用mssql_connect连接到数据库。因此,在php5.3.x中,微软专门为PHP出了个SQL Server的扩展。可以到微软网站下载 SQL Server Driver for PHP:http://www.microsoft.com/en-us/download/details.aspx?id=20098 注意要选择2.0的版本。

下载后安装释放程序,里面有以下文件:

php_pdo_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_ts.dll

php_pdo_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc9.dll

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(自述文件)

下面是自述文件里的内容:

php_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc6.dll

用于PHP5.3.X 非线程安全 php5.dll

php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll

用于PHP5.3.X 非线程安全 php5.dll

php_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc6.dll

用于PHP5.3.X 线程安全 php5ts.dll

php_sqlsrv_53_ts_vc9.dll

php_pdo_sqlsrv_53_ts_vc9.dll

用于PHP5.3.X 线程安全 php5ts.dll

php_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_nts.dll

用于PHP5.2.X 非线程安全 php5.dll

php_sqlsrv_52_ts.dll

php_pdo_sqlsrv_52_ts.dll

用于PHP5.2.X 线程安全 php5ts.dll

关于VC6和VC9的区别,还有非线程安全与线程安全:

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。

Non Thread Safe就是非线程安全,在执行时不进行线程(Thread)安全检查;

Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源;

开始配置工作,先把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini的Extensions后面加上:

extension=php_sqlsrv_52_ts.dll

extension=php_pdo_sqlsrv_52_ts.dll

再重启Apache。

最后测试一下是否成功,看一下phpinfo的sqlsrv和pdo_db是否已经支持mssql。如果已经enabled的话就可以使用pdo方式连接mssql数据库而不再使用mssql_query的方式来连接。而在Linux环境下面的配置则是更加的复杂,有空再续!