PHP sqlsrv_connect 到 SQL Server:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误
Posted
技术标签:
【中文标题】PHP sqlsrv_connect 到 SQL Server:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误【英文标题】:PHP sqlsrv_connect to SQL Server: A network-related or instance-specific error has occurred while establishing a connection to SQL Server 【发布时间】:2018-03-28 11:38:41 【问题描述】:我想将 php 7.1 连接到 SQL Server。我从以下位置添加兼容的驱动程序:
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][ODBC Driver 13 for SQL Server]与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。
请帮忙寻找答案... 谢谢!
【问题讨论】:
【参考方案1】:当 MS SQL Server 实例设置不正确时,我收到此错误。
可能的解决方案:
您应该检查您的服务器网络配置。转到 SQL Server 配置管理器(或计算机管理\服务和应用程序\SQL Server 配置管理器),然后转到 SQL Server 网络配置,“InstanceName”的协议。首先,必须启用 TCP/IP。然后打开 TCP\IP 的属性。在“IP 地址”选项卡上,转到 IPAll。要使此脚本正常工作,“TCP 动态端口”必须为空,并且“TCP 端口”必须等于 1433(或其他端口)。
注意:
如果“SQL Server Browser 服务”正在运行,则无需端口号即可连接。
【讨论】:
以上是关于PHP sqlsrv_connect 到 SQL Server:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误的主要内容,如果未能解决你的问题,请参考以下文章
sqlsrv_connect:未找到数据源名称且未指定默认驱动程序
php:致命错误:调用未定义函数 sqlsrv_connect()
未捕获的错误:调用未定义的函数 sqlsrv_connect()
在第 7 行调用 C:\wamp\www\Webs\client.php 中未定义的函数 sqlsrv_connect()