无法从PHP

时间:2016-03-16 09:40:24

标签: php sql-server xampp

我使用XAMPP。我需要建立从PHP代码到MS SQL Server的连接。因此,我从here安装了sqlsrv驱动程序。根据{{​​1}}它正确加载: enter image description here

我收到此错误消息:

  

无法建立连接。数组([0] =>数组([0] =>   IMSSP [SQLSTATE] => IMSSP => -49 [code] => -49 =>这个   扩展需要Microsoft ODBC驱动程序11 for SQL Server。访问   以下URL为SQL Server下载ODBC驱动程序11   x86:http://go.microsoft.com/fwlink/?LinkId=163712 [message] =>这个   扩展需要Microsoft ODBC驱动程序11 for SQL Server。访问   以下URL为SQL Server下载ODBC驱动程序11   x86:http://go.microsoft.com/fwlink/?LinkId=163712)=>阵列(   [0] => IM002 [SQLSTATE] => IM002 => 0 [code] => 0 =>   [Microsoft] [ODBC驱动程序管理器]未找到数据源名称,没有   默认驱动程序指定[message] => [Microsoft] [ODBC驱动程序管理器]   未找到数据源名称且未指定默认驱动程序))

链接指向x86客户端,但我只能安装64位版本,我这样做是从

  

https://www.microsoft.com/en-us/download/details.aspx?id=29065

我仍然得到同样的错误。

规格:

  

操作系统:Windows Server 2012 64位

     

PHP:5.6.19

代码很简单:

phpinfo()

现在怎样?我应该在任何$serverName = "servername"; $connectionInfo = array( "Database"=>"DBname", "UID"=>"username", "PWD"=>"password"); $conn = sqlsrv_connect($serverName, $connectionInfo); if( $conn ) { echo "Connection established.<br />"; }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); } conf文件中注册已安装的SQL Native Client吗?

2 个答案:

答案 0 :(得分:1)

根据this blog,Microsoft的SQL Server 2012 Feature Pack不包含SQL Server的ODBC驱动程序11;这是sqlsrv扩展3.1及更高版本所必需的。

答案 1 :(得分:0)

我遇到了同样的问题...

使用phpinfo()检查您使用的php版本,然后下载与您的php版本相关的扩展名。然后也转到你的php.ini文件并添加这样的文件

extension=<extension>.dll

然后我总是缺少一个至关重要的步骤,并强调我需要下载下面的链接上找到的驱动程序...或者你的PHP脚本不会连接到您的SQL Server ....下载并安装此在实际安装了SQL Server的计算机上...如果是远程服务器,则必须在远程服务器上安装...如果它在本地计算机上,则必须在本地计算机上安装... < / p>

https://www.microsoft.com/en-us/download/details.aspx?id=36434

Can't connect to SQL Server from PHP

然后你应该好好去......