背景:

  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数据库的配置及连接方法的更多相关文章

  1. ThinkPHP连接sql server数据库

    亲身经历,在网上找连接sql server数据库的方法,还是不好找的,大多数都是照抄一个人的,而这个人的又写的不全,呵呵,先介绍一下我连接的方法吧.如果你是用THINKPHP连接,那么最重要的就是配置 ...

  2. JeeSite如何正确连接SQL SERVER 数据库

    JeeSite如何正确连接SQL SERVER 数据库 jeesite介绍 感谢jeesite项目的作者thinkgem. 没有你我也不会更改这数据源非了恁大的劲,,,,嘻嘻嘻说多了. JeeSite ...

  3. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  4. C#连接SQL server数据库

    C#连接SQL server数据库 创建一个Windows应用程序,在窗体中添加TextBox控件.Button控件.Label控件. private void button1_Click(objec ...

  5. Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库

    本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...

  6. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  7. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  8. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  9. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

随机推荐

  1. 【Android Developers Training】 105. 显示一个位置地址

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. Java基础(3) -字符串

    字符串-String 1.定义&&初始化 使用双引号把字符括起来 String str = "test"; 2.字符串的提取-substring String a ...

  3. AngularJS4.0环境搭建详解--windows系统环境

    第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...

  4. 极致精简的webservice例子

    看了网上好多关于webservice的例子,基本上对初学者来说都是模棱两可云里雾里,现在,我将网上关于webservice的讲解提炼出来,通过一个最简单使用并且方便的例子,告诉大家什么是webserv ...

  5. VB6获取Chrome地址栏的URL信息

    上篇写到了获取IE8浏览器URL的一般方法,那这篇就写下chrome的URL怎么获取.事实上,早期的chrome版本可以通过跟IE8差不多方式获取到URL信息.但是,现在chrome的控件都是Dire ...

  6. [javascript 实践篇]——那些你不知道的“奇淫巧技”

    1. 空(null, undefined)验证 刚开始,我是比较蠢的验证(我还真是这样子验证的) if (variable1 !== null || variable1 !== undefined | ...

  7. Java 异常处理笔记

    Java程序运行过程中所发生的异常事件可分为两类: §错误(Error):JVM系统内部错误.资源耗尽等严重情况 §违例(Exception): 其它因编程错误或偶然的外在因素导致的一般性问题,例如: ...

  8. 从 RequireJs 源码剖析脚本加载原理

    引言 俗话说的好,不喜欢研究原理的程序员不是好的程序员,不喜欢读源码的程序员不是好的 jser.这两天看到了有关前端模块化的问题,才发现 JavaScript 社区为了前端工程化真是煞费苦心.今天研究 ...

  9. Oracle查询多行数据合并成一行数据

    例如: select base_id, translate (ltrim (text1, '/'), '*/', '*,') xmmc,translate (ltrim (text2, '/'), ' ...

  10. 【故障处理】ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

    今天在使用冷备份文件重做从库时遇到一个报错,值得研究一下. 版本:MySQL5.6.27 一.报错现象 dba:(none)> start slave; ERROR (HY000): Slave ...