PHP 与 mssql 连接失败(windows 验证)

PHP with mssql connection fail (windows auth)

我正在尝试从 php 连接到 mssql 数据库。 我已经为此安装了驱动程序。

现在我遇到了以下错误:

Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'domain\user'. [message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'domain\user'. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'domain\user'. [message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'domain\user'. ) )

有什么我遗漏的吗?

编辑: 我的连接字符串:

$serverName = "server, port";

$connectionInfo = array( "Database"=>"my_database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn == false)
 {
 echo "Unable to connect.<br />";
 die( print_r( sqlsrv_errors(), true));
 }

编辑 2:

带有用户和密码的代码示例

$serverName = "server, port"; //serverName\instanceName
$connectionInfo = array( "Database"=>"my_database", "UID"=>"domain\user", "PWD"=>"my_pw");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
 echo "Connection OK.<br />";
}else{
 echo "Unable to connect.<br />";
 die( print_r( sqlsrv_errors(), true));
}

必须修改 wampapaches 服务中的身份验证方法。我把我的用户放在那里并通过并且工作正常。

我遇到了类似的问题。我有一个 php 脚本来访问供应商托管的 mssql 数据库。我们不能使用 Windows 身份验证。用户名和密码有效,因为它适用于 python。我们发现商家提供的密码中有一个$,在PHP中表示一个变量。我们将密码周围的双引号更改为单引号并且有效。这是由于服务器打开了 Magic Quotes 造成的,解决方法是使用单引号强制 PHP 将密码识别为字符串。