SQL server -问题集成PHP与sqlserver


sql server - issue integrating php with sqlserver

这是我第一次将php与SQL Server集成。上下文中的SQL服务器位于同一LAN上的另一台物理计算机上。我正在使用下面解释的配置:

  • php: version 5.5
  • SQL Server: 2005 Express
  • php drivers: sqlsrv 3.2
  • 线程安全:禁用

我正在面对下面的错误:

无法建立连接。
Array ([0] => Array ([0] =>IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This扩展需要Microsoft SQL Server 2012本地客户端。访问下载Microsoft SQL Server 2012 Nativex86客户端ODBC驱动程序:http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This扩展需要Microsoft SQL Server 2012本地客户端。访问下载Microsoft SQL Server 2012 Nativex86客户端ODBC驱动程序:http://go.microsoft.com/fwlink/?LinkId=163712) [1] => Array ([0] =>IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC]没有找到数据源名称,也没有默认驱动程序指定[message] => [Microsoft][ODBC Driver Manager]数据源

使用的代码如下:

<?php
$serverName = "TESTSERV'SQLEXPRESS"; //serverName'instanceName
$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));
}
?>

谁能指导我在这里需要做什么才能成功连接到数据库?

Microsoft SQL Server Driver for PHP需要安装Microsoft SQL Server 2012 Native Client,如错误信息所示。仅下载扩展dll是不够的。您可以在官方的系统要求(Microsoft驱动程序for PHP for SQL Server)中阅读更多信息。

3.2和3.1版本需要Microsoft ODBC Driver 11(或更高版本)用于SQL Server。要下载Microsoft ODBC Driver 11 for PHP for SQL Server,请参见Microsoft ODBC Driver 11 for SQL Server。

如果您正在使用SQLSRV驱动程序,sqlsrv_client_info将返回有关Microsoft Drivers for PHP for SQL Server正在使用哪个版本的SQL Server Native Client的信息。如果您正在使用PDO_SQLSRV驱动程序,则可以使用PDO::getAttribute来发现版本。

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

下载、安装并尝试刷新您的测试页面