【问题标题】:Windows 2019 php 7.4 cannot connect to 2016 SQL ServerWindows 2019 php 7.4 无法连接到 2016 SQL Server
【发布时间】:2020-09-01 15:46:53
【问题描述】:

我有一个新的 windows 2019 服务器,运行 IIS 和 PHP 7.4.x,工作正常,并且安装了 sql server 和 odbc 驱动程序。

现在,当我尝试连接到远程 mssql 实例时,出现以下错误。

$serverName = "//servername\dbinstance";
$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));
}

我在php服务器上安装了SSMS,我可以毫无问题地连接到远程数据库服务器!

我在 php 上做错了什么?

在 linux 中,可能会因为打开 SELinux 而失败,但这是 Windows 2019 LOL

想法?

谢谢

【问题讨论】:

  • 你能贴出实际的错误信息吗?
  • 您能在 SAL 服务器日志中看到连接尝试吗?如果是这样,那里记录的连接错误是什么?如果没有,则连接详细信息未到达,因此可能是错误的。
  • 我对 SQL Server 不是很熟悉。您的数据库实例是字面上称为dbinstance 还是以nrtsome other character 开头的其他名称,当与单个反斜杠组合时会转换为其他名称?转义反斜杠 ("//servername\\dbinstance") 可以连接吗?
  • 无法连接。 Array ([0] => Array([0] => 08001[SQLSTATE] => 08001[1] => 161[code] => 161[2] => [Microsoft][ODBC Driver 17 for SQL Server]命名管道提供程序:无法打开与 SQL Server [161] 的连接。[消息] => [Microsoft][SQL Server 的 ODBC 驱动程序 17]命名管道提供程序:无法打开与 SQL Server [161] 的连接。)[1 ] => Array([0] => HYT00[SQLSTATE] => HYT00[1] => 0[code] => 0[2] => [Microsoft][ODBC Driver 17 for SQL Server]登录超时[消息] => [Microsoft][ODBC Driver 17 for SQL Server]登录超时)[2] =>...
  • .r]登录超时)[2] => Array([0] => 08001[SQLSTATE] => 08001[1] => 161[code] => 161[2] = > [Microsoft][ODBC Driver 17 for SQL Server]建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否正确配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。[消息] => [Microsoft][ODBC Driver 17 for SQL Server]与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。

标签: php sql-server database windows server


【解决方案1】:

我想通了...奇怪,,,您不需要实例名称,只需使用服务器名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多