php5.3无法连接到MSSQL数据库的解决方案

    本文介绍了php5.3无法连接mssql数据库问题的解决方法。


    分析如下:


    从php5.3开始,系统不支持mssql_connect函数连接。 我也说了可以用com接口来实现。 下面介绍另一种解决php5.3无法连接mssql数据库问题的方法。


    windows系统下,PHP5.3以上版本不支持mssql扩展。


    将文件解压到php的扩展文件夹ext下,打开php.ini在结尾添加:


    代码如下:

1.png

    保存后重启apache即可,附上简单的php连接的例子,代码如下:


    代码如下:

2.png

    我使用的是wamp5.1集成安装包,在windows server 2008上面做的测试,php5.4以上版本测试没有成功.


    如果使用这个扩展连接Sql server 2005以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client :    http://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi


    这个扩展为php新增了一系列sqlsrv_开头的函数,函数参考如下:


    代码如下:

3.png

    更多详细的说明可以在刚才的自解压的文件中有个 SQLServerDriverForPHP.chm 帮助文件中可以找到打开后点击API Reference节点.


    另外看一种odb连接方式,代码如下:


    代码如下:

4.png

    相关介绍:


    一、php5.3通过PDO成功连接MSSQL的步骤简要整理如下:


    1、下载microsoft drivers for php for sql server(目前有2.0 3.0版本,分别又分有ts和nts版,可通过phpinfo()中的Thread Safety:enable确认是ts,详见驱动自带手册)


    2、复制驱动至php文件夹的ext文件夹后,修改php.ini扩展extension=php_pdo_sqlsrv_53_ts_vc6.dll


    3、下载Microsoft SQL Server 2008 R2 Native Client安装


    测试代码:

5.png

    二、windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要自行下载微软提供的The SQL Server Driver for PHP。这是一个自解压文件,解压后会得到以下几个文件:

6.png

    其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非线和安全,ts表示线程安全;vc6表示使用Apache作为Web Server,vc9表示使用IIS作为Web Server。


    根据您的配置,将相应的DLL文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:

7.png

    这里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:

8.png

    压缩包里有各个版本对于的dll文件,大家可以去仔细核查。


    开启扩展后,重启apache,这样就可以连接sqlserver了,但是还有一点要注意,如果你没有安装Microsoft SQL Server 2008 R2 Native Client,必须去下载安装,因为微软的这个扩展包需要这个支持。


    一切妥当之后,就可以写php代码了,如果你下载了The SQL Server Driver for PHP,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,在这里站长介绍一个简单的例子:

9.png

    如若连接失败,重新启动sqlserver再试。

对我有帮助
27人认为有帮助

相关帮助