PHP sqlsrv_connect 到 SQL 服务器:建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误

PHP sqlsrv_connect to SQL Server: A network-related or instance-specific error has occurred while establishing a connection to SQL Server

我想将 PHP 7.1 连接到 SQL 服务器。我从以下位置添加兼容的驱动程序:

https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-driver-for-sql-server

    try {
        $serverName = "tcp:localhost,1433";
        $connectionOptions = array("Database" => "fc","Uid" => "sa", "PWD" => 
"Aa123456");
        $conn = sqlsrv_connect($serverName, $connectionOptions);
        if ($conn == false){
            die (print_r(sqlsrv_errors ()));}
    } catch (Exception $e) {
        echo("Error!");
    }

到我的 php.ini 我在 phpinfo() 中检查过 现在我的 windows 10 上安装了 ODBC 13.1 并正确安装了 SQL server 2016,并且可以通过 sql server management studio 使用 "sa" 用户登录。 但是当我尝试这段代码时:

我收到这个错误: [Microsoft][SQL 服务器的 ODBC 驱动程序 13]建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误。服务器未找到或不可访问。检查实例名称是否正确以及 SQL 服务器是否配置为允许远程连接。有关详细信息,请参阅 SQL 服务器联机丛书。

请帮忙寻找答案... 谢谢!

当 MS SQL 服务器实例设置不正确时出现此错误。

可能的解决方案:

您应该检查您的服务器网络配置。转到 SQL 服务器配置管理器(或计算机 Management\Services 和 Applications\SQL 服务器配置管理器),然后转到 SQL 服务器网络配置,"InstanceName" 的协议。首先,必须启用 TCP/IP。然后打开 TCP\IP 的属性。在 "IP Addresses" 选项卡上,转到 IPAll。要使此脚本正常工作,"TCP Dynamic ports" 必须为空,并且 "TCP Port" 必须等于 1433(或其他某个端口)。

注:

如果"SQL Server Browser service"为运行,则无需端口号即可连接。