`
zzc1684
  • 浏览: 1190767 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

PHP连接SQL Server

    博客分类:
  • PHP
阅读更多

最近用PHP,但是要连接的数据库是MS的SQL Server(头一次用PHP就得搞这么蛋疼的东西),后来就各种找,很蛋疼的说。前后进行了大概三次环境配置,发现一个关键点(也可能是我用的环境是AppServ的集成环境,所以可能特殊,没有求证),那总结一下用AppServ集成环境配置连接MS SQL Server。

环境:Win7_x64 ,AppServ(Apache2.2, PHP5.2.6),SQL Server 2008R2
一、安装完之后,先导入支持模块和驱动文件
    具体是下载正确版本的 ntwdblib.dll 注意这个版本号,不是这个版本的dll 不起作用啊

版本为 2000.2.8.0  对应 SqlServer2000

 2000.80.194.0  对应 SqlServer2005

版本为 2000.80.2039  对应 SqlServer2008(本人测试通过)

   地址: http://www.webzila.com/dll/1/ntwdblib.zip 
覆盖 apache2.2.6\bin\ntwdblib.dll (容易被忽略
覆盖 php5.2.6\ntwdblib.dll 

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

SQL Server Driver for PHP 1.1 (2009-10)

http://www.microsoft.com/downloads/details.aspx?familyid=CCDF728B-1EA0-48A8-A84A-5052214CAAD9&displaylang=en

SQL Server Driver for PHP 2.0 CTP1(2010-04)

http://www.microsoft.com/downloads/details.aspx?familyid=DF4D9CC9-459C-4D75-A503-AE3FCEB85860&displaylang=en

或者:http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx

想看中文详细使用资料可参考MSDN的,地址:

http://msdn.microsoft.com/zh-cn/library/cc296170(SQL.90).aspx

有关Driver说明查看微软官方说明即可,选择正确版本。

三、开始配置,我用的是Appserv 搭建的PHP环境(Apache 2.2+PHP 5.2.6+MySQL 5),想用线程安全的,所以选择php_sqlsrv_52_ts.dll和php_pdo_sqlsrv_52_ts.dll。

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

;extension=php_sqlsrv_52_ts.dll

;extension=php_pdo_sqlsrv_52_ts.dll

配置php.ini:

 

1、打开php.in将extension=php_mssql.dll的注释符号去掉。

2、打开php.in将mssql.secure_connection = Off改为on。

3、将php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system32目录下。(php_mssql.dll在php压缩安装包中有)。

以上步骤完成后需要重启apache。

注意:实际使用中发现 如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。

4、需要保证php或者系统系统system32下有ntwdblib.dll,查看属性确保其版本为8.00.194而不是7.0......

SQL Server 默认配置即可。

自己没有研究过,都是Google而来,其中需要强调的就是覆盖 apache2.2.6\bin\ntwdblib.dll ,如果没有直接复制进去,我最后一次配置就是因为这一步才成功。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics