【问题标题】:IIS Can't connect to remote databaseIIS 无法连接到远程数据库
【发布时间】:2018-07-24 21:03:09
【问题描述】:

我在 IIS 上有一个网站,想访问远程主机上的数据库。

我的代码:

$this->db = new mysqli($hostname, $username, $password, $dbname);

我收到此错误:

Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte

英文是这样的

远程主机拒绝连接

默认端口是3306,当我执行时

$this->db = new mysqli($hostname, $username, $password, $dbname, 3306);

我得到了同样的结果。

通过 cmd telnet 我无法连接到 $hostname 3306,而是连接到 $hostname 1433。

所以我尝试了

$this->db = new mysqli($hostname, $username, $password, $dbname, 1433);

但这也不起作用。我明白了

mysqli::__construct(): MySQL 服务器已经消失

mysqli::__construct(): 读取问候包时出错。 PID=3276

你知道我怎样才能连接到数据库吗?

【问题讨论】:

  • 端口 1433 用于 MSSQL,而不是 MySQL。您尝试使用哪种 SQL 服务器?

标签: php iis mysqli


【解决方案1】:

根据您问题中的信息,远程数据库似乎是 SQL Server,而不是 MySQL。因此需要使用 PHP 的 MSSQL 库:http://php.net/manual/en/book.mssql.php

不过,它通常需要额外的安装/配置。

【讨论】:

  • 我现在感觉有点傻……是的,它是 MS SQL Server。我安装了 sqlsrv 加上我必须安装 odbc,它现在正在使用 $this->db = sqlsrv_connect($hostname, array("Database" => $dbname, "UID" => $username, "PWD" => $密码));谢谢!
猜你喜欢
  • 2015-05-09
  • 2019-10-16
  • 2013-12-14
  • 2017-08-20
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多