php 5.3.27 访问 Sql2008 和 sql 2005

今天遇到php连接mssql问题,按照网上各种尝试,最后成功,再此记录下。由于 php 5.3以后就不支持mssql。要下载相应的The SQL Server Driver for PHP。现在微软官网有两个安装包:SQLSRV20.exe 和 SQLSRV30.exe

 

 

说下这两个安装包,20中有:

Driver file

PHP version

Thread safe?

Use with PHP .dll

php_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc6.dll

5.3

no

php5.dll

php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll

5.3

no

php5.dll

php_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc6.dll

5.3

yes

php5ts.dll

php_sqlsrv_53_ts_vc9.dll

php_pdo_sqlsrv_53_ts_vc9.dll

5.3

yes

php5ts.dll

php_sqlsrv_52_nts_vc6.dll

php_pdo_sqlsrv_52_nts_vc6.dll

5.2

no

php5.dll

php_sqlsrv_52_ts_vc6.dll

php_pdo_sqlsrv_52_ts_vc6.dll

5.2

yes

php5ts.dll

30中有:

 

Driver file

PHP version

Thread safe?

Use with PHP .dll

php_sqlsrv_53_nts.dll

php_pdo_sqlsrv_53_nts.dll

5.3

no

php5.dll

php_sqlsrv_53_ts.dll

php_pdo_sqlsrv_53_ts.dll

5.3

yes

php5ts.dll

php_sqlsrv_54_nts.dll

php_pdo_sqlsrv_54_nts.dll

5.4

no

php5.dll

php_sqlsrv_54_ts.dll

php_pdo_sqlsrv_54_ts.dll

5.4

yes

php5ts.dll

 

其中52对应的php5.2的,vc9对应你的php 包的格式,例如(php-5.3.27-Win32-VC9-x86.zip) 。ts和nts的区别大家应该都知道的,也是要和你的php版本要对应的。

还有一点要注意就是下面这个说明,如果你下载的对应的php的diver是30.exe 的那你同时要安装Microsoft SQL Server 2012 Native Client。

 

 

  • Version 3.0 of the driver requires Microsoft SQL Server 2012 Native Client. You can download Microsoft SQL Server 2012 Native Client from theSQL Server 2012 feature pack page.

  • Version 2.0 of the driver requires Microsoft SQL Server 2008 R2 Native Client. Click on the appropriate link below:

    Download the X86 package

    Download the X64 package

 

解压sql Driver 包后要放到PHP的目录下,同时增加

extension=php_pdo_mssql.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
extension=php_sqlsrv_53_ts_vc9.dll
extension=ntwdblib.dll

 

这了还有一个重要的dll文件就是ntwdblib.dll文件,大家可以相应的去下载对应的sql版本的,每个版本不一样,csdn上有下载的

 

sql 2005 对应编号 2000.80.194.0,sql 2008 对应编号 2000.80.2039.0。

下载ntwdblib.dll放到php的目录下或者直接放在system32下。

 

重启启动apache服务器,php.info中显示如下界面:

说明sql配置已经成功。

一下是测试方法:

 

  • <?php

 

  • $serverName="(localhost)";

  • $connectionInfo=array("Database"=>"dbName","UID"=>"user","PWD"=>"pwd");

  • $conn=sqlsrv_connect($serverName,$connectionInfo);

  • if($conn){

  • echo"连接成功.<br/>";

  • }else{

  • echo"连接失败.<br/>";

  • die(print_r(sqlsrv_errors(),true));

  • }

 

    • ?> 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。