0

0

php连接微软MSSQL(sql server)攻略

墨辰丷

墨辰丷

发布时间:2018-05-30 13:48:18

|

1891人浏览过

|

来源于php中文网

原创

在研究ezsql的时候就看到了mssql_connect()等一些php提供的连接mssql的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多

在研究ezsql的时候就看到了mssql_connect()等一些php提供的连接mssql的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多。

一开始我下载的php版本是5.93的,下载下来添加环境变量等等搞了半天后,phpinfo()这个函数终于成功的运行在浏览器中了。然后当我在满世界的找php_mssql.dll,才发现在5.3以及以上版本的php中已经不是原生态的支持mssql了。

好不容易找到了微软Microsoft Drivers 3.0 for PHP for SQL Server,心想微软的东西应该做的可以,却无奈的发现SQLSRV30.EXE没有办法运行:“SQLSRV30.EXE 不是有效的win32程序”。

在网上搜索了半天,总结了以下一些可行的办法,但是在这之前你需要:

立即学习PHP免费学习笔记(深入)”;

配置MICROSOFT SQL SERVER

1、下载并安装sql server。现在这个版本就比较多了从2000 到2008不等,找一个你自己下载吧。

2、开放tcp/ip连接方式,使得数据库能够远程访问。SQL Server Configuration Manager -> Network Configuration -> Protocols -> TCP/IP enabled

3、打开数据管理界面,添加用户和数据库。

4、安装php和配置IIS服务。

5、打开php所在文件夹里面的 php.ini文件,并添加:

mssql.textlimit = 20971520
mssql.textsize = 20971520

做完了这些之后,你可以按照下面三种方法来连接数据库了:

使用php自带的方法连接MSSQL(5.3及以后版本不适用)

确保php ext扩展库文件夹下有php_mssql.dll,然后在PHP.ini中的配置中,将

;extension=php_mssql.dll

前面的“;”去掉。

然后你可以测试连接了:

//连接MSSQL
$conn=mssql_connect("实例名或者服务器IP","用户名","密码");

//测试连接
if($conn)
{
 echo "连接成功";
}

Microsoft Drivers for SQL Server for PHP

2008年7月微软发布了一个新的为php连接SQL Server的驱动,它改善了php自带的连接MSSQL函数的一些缺点,并且是以php扩展插件的形式开发的,通过它你可以用php轻松的读写微软的数据库了。

如果你服务器使用的是IIS的话,那么就一定要从这里去下载:

http://php.iis.net/

因为从上述链接进去其实是微软整合的网络开发平台,只提供在线安装,但是很方便的整合了PDO插件和php,当然还有微软的其它一些开发功能,但是如果你没需要,你可以不装了,那些是在visual studio中的。

但是如果你用的是 Apache的话,你可以去这里直接下载这个插件了,它其实是一个解压文件,解压出来几个DLL文件,具体操作如下:

1)下载驱动包:http://www.microsoft.com/en-us/download/details.aspx?id=20098.

2)将DLL文件解压到 PHP extension_dir 目录,如果出现说SQLSRV30.EXE 不是有效的win32程序,可能是缺少某些库,可能是vc10,也有可能是没有用administrator权限运行。

extension_dir = “C:\PHP\ext”

AI Room Planner
AI Room Planner

AI 室内设计工具,免费为您的房间提供上百种设计方案

下载

3)在php.ini配置文件内引用相应的动态链接库文件

extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo.dll

其中的52、53表示就是php的5.2.x和5.3.x 版本,选择跟你php版本相匹配的;
选择vc6或vc9的主要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache则选择vc6的。
至于ts和nts,就要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全。

4)重启Apache
5)连接数据库

测试连接代码:

"root",
    "PWD"=>"root2010",
    "Database"=>"master");

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

if( $conn )
{
 echo "Connection established.\n";
}
else
{
 echo "Connection could not be established.\n";
 die( print_r( sqlsrv_errors(), true));
}
 ?>

在windows下使用FreeTDS

什么是FreeTDS? FreeTDS其实就是一个开源(或者可以说成自由)的C程序库,它可以实现在Linux系统下访问操作微软的SQL数据库。可以用在Sybase的db-lib或者ct-lib库,在里面也包含了一个ODBC的库。允许许多应用软件连接到Sybase或者微软的SQL服务器。FreeTDS是以源码的现实发布的,正因为是这样,所以它几乎可以在任何系统中进行编译安装。

如如你的服务器是Windows系统, 那么你应该使用 php_dblib.dll。(more information on Using FreeTDS for Unix.)

通常我们可以在这个网站上找到这些DLL文件- Frank Kromann's site, 但是它基本上很多都已经过时了,并且会引发很多的问题,因此我们推荐windows下使用PHP 5.2.x版本,并且看看下面的建议 :

1. 按照下面的表格来下载 php_dblib.dll 并且将其保存到 /PHP/ext 文件夹下面.



PHP version Thread Safe FreeTDS version Download URL
PHP 5.2.x (vc6) Yes 0.82 + 20090302 patches Download!
No 0.82 + 20090302 patches Download!
PHP 5.3.x (vc9) Yes 0.82 + 20090904 patches Download!
No 0.82 + 20090904 patches Download!
PHP 5.4.x (vc9) Yes 0.82 + 20110906 patches Download! FTP Download!
No 0.82 + 20110906 patches Download! FTP Download!

2、 FreeTDS 需要安装 .NET Framework v1.1 ,你可以到微软的网站去下载。或者你去Frank's site 下载需要的DLL文件,并保存到你的/PHP根目录下面。

3、在php配置文件 /PHP/php.ini 中添加:

extension=php_dblib.dll

4、当php引擎启动FreeTDS模块的时候需要传递一些信息,使得FreeTDS能够连接到它的默认的数据库。因此它的需要在freetds.conf中定义数据库连接的基本信息,该文件在其根目录下,可以按照你的情况来进行修改:

[global]
host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520
5、创建config.php文档来定义数据库连接参数:

$CFG->dbtype = 'mssql'; // Required
$CFG->dbhost = 'localhost'; // assuming MS SQL is on the same server, otherwise use an IP
$CFG->dbname = 'moodle';  // or whatever you called the database you created
$CFG->dbuser = 'yourusername'; // I usually use the 'sa' account (dbowner perms are enough)
$CFG->dbpass = 'yourpassword';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';  //Prefix, you can change it, but NEVER leave it blank.

6、 重启你的网站,如果还是没有连接到你的数据库的话,在 /PHP/php.ini文件中将display_startup_errors改为"On",当你解决了这些问题之后再将错误报告改为“Off”;
7、测试你的网站,建立test.php文件,代码如下,访问http://localhost/test.php进行测试

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

php中常量、静态属性、非静态属性的区别

php中静态属性和静态方法区别

php中类和对象:静态属性、静态方法图文详解

相关文章

热门游戏推荐
热门游戏推荐

海量精品小游戏合集,无需安装即点即玩,休闲益智、动作闯关应有尽有,秒开即玩,轻松解压,快乐停不下来

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.6万人学习

ASP教程
ASP教程

共36课时 | 23.8万人学习

李炎恢ASP基础视频教程
李炎恢ASP基础视频教程

共210课时 | 43.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号