Windows 2008服务器环境PHP连接SQL Server数据库的配置及连接方法

Posted 浪礁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 2008服务器环境PHP连接SQL Server数据库的配置及连接方法相关的知识,希望对你有一定的参考价值。

背景:

  php程序常用的数据库是mysql数据库,但是由于实际项目需要,要求PHP网站连接SQL Server数据库查询一些必要信息。因此,本文就来给大家介绍一下如何安装及配置PHP扩展,可以实现PHP利用PDO函数连接SQL Server数据库。

正文:

要让PHP配置支持sql server,需要安装一些必要软件及扩展,步骤如下:

1、在微软官方页面https://www.microsoft.com/en-us/download/details.aspx?id=20098下载PHP扩展压缩包程序,PHP5.4以上版本下载SQLSRV32.EXE这个文件;

2、将下载的SQLSRV32.EXE安装到你的php安装目录下的ext文件中(如:C:\php\php-5.4.45\ext),安装的扩展名称如php_pdo_sqlsrv_54_ts.dll文件;

3、修改php.ini文件,我们安装的PHP版本是5.4.45,所以配置扩展如extension = php_pdo_sqlsrv_54_ts.dll,保存并重启apache服务器;

4、需要安装Windows服务器连接sql server的驱动程序,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=36434,根据Windwos服务器架构选择即可,这里选择x64的msodbcsql.msi安装,因服务器是64位系统;

5. 安装完成后,就可以编写PHP程序连接SQL Server数据库了。

 

需要注意的是,php_pdo_sqlsrv_54_ts.dll扩展库文件中的54表示PHP版本号,nts表示的是非线程安全,ts表示的是线程安全,可以查看phpinfo信息得到是否线程安全,如不确定建议选择线程安全的,非线程安全主要出于性能提升考虑,可根据实际需要选择。简单来说,以FastCGI网关形式运行PHP要安装非线程安全,否则安装PHP要线程安全的,一般APACHE服务器是以模块方式加载PHP线程,要选线程安全的。

 

最后给出PHP连接SQL Server数据库的代码实例,新建db.php文件,内容如下:

<?php
try
{ $dbName = "sqlsrv:Server=123.12.33.99,1433;Database=dbname"; $dbUser = "user"; $dbPassword = "password"; $db = new PDO($dbName, $dbUser, $dbPassword); if($db) { echo "database connect succeed."; } } catch(PDOException $e) { $content = $e->getMessage(); echo $content; }

浏览器地址输入db.php访问地址:http://localhost/db.php,如果正常则显示如下:

database connect succeed.

 


以上是关于Windows 2008服务器环境PHP连接SQL Server数据库的配置及连接方法的主要内容,如果未能解决你的问题,请参考以下文章

在IIS7中通过PHP连接到SQL SERVER 2008(使用Windows身份验证)?

sql server 2008 链接 ORACLE 问题

无法通过 Windows 2012 上的系统 dsn 使用 ODBC 连接连接到 SQL Server 2008

php 连接sqlserver

学习笔记:windows server 2008 R2服务器搭建SQL Server 2008 R2环境

SQL Server2012在 windows server2008上安装需要啥样的.net环境?