Php 无法与SQL Server 2019建立连接

Php 无法与SQL Server 2019建立连接,php,sql,sql-server,iis,Php,Sql,Sql Server,Iis,我在使用SQL Server 2019在IIS上运行PHP项目时遇到问题。我的PHP版本是7.0.26,我已经导入了SQLSRV DLL 当我尝试使用我的系统登录时,出现以下错误: 无法建立连接。 Array([0]=>Array([0]=>28000[SQLServer]=>28000[1]=>18456[code]=>18456[2]=>Microsoft][ODBC驱动程序13用于SQL Server][SQL Server]登录用户“sa”失败。[消息]=>Microsoft][ODBC

我在使用SQL Server 2019在IIS上运行PHP项目时遇到问题。我的PHP版本是7.0.26,我已经导入了SQLSRV DLL

当我尝试使用我的系统登录时,出现以下错误:

无法建立连接。 Array([0]=>Array([0]=>28000[SQLServer]=>28000[1]=>18456[code]=>18456[2]=>Microsoft][ODBC驱动程序13用于SQL Server][SQL Server]登录用户“sa”失败。[消息]=>Microsoft][ODBC驱动程序13用于SQL Server][SQL Server]登录用户“sa”失败。[1]=>Array([0]=>28000[SQLServer]=>28000[1]=>18456[code]=>18456][2] =>[Microsoft][ODBC驱动程序13 for SQL Server][SQL Server]用户“sa”登录失败。[消息]=>[Microsoft][ODBC驱动程序13 for SQL Server][SQL Server]用户“sa”登录失败。)

这是我的连接字符串的一部分

$myCon = array("Database"=>$myDB, "UID"=>$myUser, "PWD"=>$myPass);
$db = sqlsrv_connect( $myServer, $myCon);
此外,我还尝试跟踪错误,比如添加错误的凭据,以查看错误消息是否有一些更改,但仍然是一样的

我们尝试了一些配置,例如将服务器身份验证设置为“SQL server和Windows身份验证模式”,禁用防火墙,以及设置本机客户端配置

IIS配置是通过设置MIME类型、默认文档、连接字符串、应用程序池进行的,并且设置了所有路径配置

我还只安装了ODBC驱动程序13,2015可再发行的.NET 4框架


有人能帮我吗?谢谢。

SA帐户是在安装过程中创建的。SA帐户是众所周知的,并且经常被恶意用户攻击,因此建议禁用SA帐户,除非您的应用程序需要它。您可以在SQL server中创建新帐户或使用windows身份验证来访问SQL server数据库

<?php
$serverName = "serverName\\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));
}
?>

有关如何创建用户和配置iis的更多详细信息,请参阅以下链接:


首先创建一个新的
登录名
(以及所需的
用户
s)对于您的web应用程序,请使用所需的最小权限。然后,如果连接失败,请检查SQL Server的日志。
sa
帐户不应被应用程序用于连接。您的问题解决了吗?如果您的问题解决了,请您将有用的建议标记为答案。这将有助于其他人面临相同问题的人。如果您的问题仍然存在,请尝试参考社区成员提供的解决方案。如果您还有任何其他问题,请告知我们。我们将尝试提供解决问题的进一步建议。感谢您的理解