PHP链接Microsoft SQL Server 2005/2008

PHP自带的MSSQL扩展php_mssql.dll原来是给SQL Server 2000用的,难怪链接不上2008?! -_-!!要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行,最新版本是2.0的.须要到微软官方去下载新的驱动.php

下载驱动程序,我下载的是2.0的,下载后安装释放程序,里面有如下文件:sql

php_pdo_sqlsrv_52_nts.dll数据库

php_pdo_sqlsrv_52_ts.dllwindows

php_pdo_sqlsrv_53_nts_vc6.dll安全

php_pdo_sqlsrv_53_nts_vc9.dll测试

php_pdo_sqlsrv_53_ts_vc6.dllui

php_pdo_sqlsrv_53_ts_vc9.dllspa

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 版本

线程安全性

用于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.dll

php_pdo_sqlsrv_52_nts.dll

5.2

no

php5.dll

php_sqlsrv_52_ts.dll

php_pdo_sqlsrv_52_ts.dll

5.2

yes

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 执行方式而耗尽系统资源;



开始配置



我用的是APMserv 搭建的PHP环境(Apache 2.2.9+PHP 5.2.6+MySQL 5.1.28),想用线程安全的,因此选择php_sqlsrv_52_ts.dll和php_pdo_sqlsrv_52_ts.dll。

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

;extension=php_sqlsrv_52_ts.dll

;extension=php_pdo_sqlsrv_52_ts.dll

再重启Apache。

最后测试一下是否成功,看一下phpinfo的sqlsrv

 


如图所示这样就表示链接成功了!!开始工做喽!

最终测试环境图 

 

二链接数据库:

   使用过SQL Server的人应该都清楚,SQL Server经常使用的有两种认证方式,一种是本地系统帐户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。

  1.Windows Authentication链接部分代码段:

<?php

$serverName = "(local)";

$connectionInfo = array("Database"=>"TestingInfo","ConnectionPooling"=>false);

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

if$conn == false)

{

    echo "链接失败!";

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

}

?>

  2.SQL Server Authentication链接部分代码段:

<?php

$serverName = "(local)";

$uid = "sa";

$pwd = "******";

$connectionInfo =  array("UID"=>$uid,"PWD"=>$pwd,"Database"=>"TestingInfo");

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

if$conn == false)

{

    echo "链接失败!";

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

}

?>

相关文章
相关标签/搜索