Php 为什么我不能连接到我的SQL Server?

Php 为什么我不能连接到我的SQL Server?,php,sql,sql-server,Php,Sql,Sql Server,错误:无法建立连接,因为目标计算机主动拒绝连接 我已经浏览了很多我可以在这里找到的主题,但是没有一个对我的情况有用 我的设置: 我有两个虚拟机在他们自己的网络192.168.11.0中运行。我可以从另一台机器内部ping另一台机器。我没有防火墙 名为SQLTest的终端IP为129,Microsoft SQL Server 2012使用Windows和SQL身份验证运行。使用SQL auth创建一个名为root的用户/登录名,并授予该用户对服务器、数据库以及他需要访问的所有其他内容的权限。我在S

错误:无法建立连接,因为目标计算机主动拒绝连接

我已经浏览了很多我可以在这里找到的主题,但是没有一个对我的情况有用

我的设置:

我有两个虚拟机在他们自己的网络192.168.11.0中运行。我可以从另一台机器内部ping另一台机器。我没有防火墙

名为SQLTest的终端IP为129,Microsoft SQL Server 2012使用Windows和SQL身份验证运行。使用SQL auth创建一个名为root的用户/登录名,并授予该用户对服务器、数据库以及他需要访问的所有其他内容的权限。我在SQLServer管理上测试了日志记录,效果很好。SQL Server正在运行,SQL Server浏览器也在运行

另一个终端IP为131,称为WEBSERVER,正在运行WAMP,最新更新。我有一个php正在运行,它连接或试图连接到这台机器并显示数据,但我收到了错误消息。该消息告诉我它找到了该主机,但由于某些原因无法访问该主机。正如我前面提到的,该系统没有防火墙

以下是我的PHP:

$host="192.168.11.129:1433";
$username="root";
$password="abc123";

$con=mysqli_connect($host, $username, $password);

在我的SQL Server配置管理器上,我启用了命名管道和其他所有必需的功能。我在这里列出的IP地址是127.0.0.1,端口是1433。我还尝试将IP设置为192.168.11.29,但这没有任何作用。我与nbtstat-abn进行了检查,1433端口似乎正常,并已列出

必须定义数据库名称才能连接。在您的代码中,没有选择要连接的数据库。您需要向用户授予使用任何IP或任何特定IP远程访问MySQL的权限。向任何mysql用户授予访问数据库的权限。通过下面的URL授予权限


确保你有正确的司机。然后查看此链接。不要将Microsoft SQL Server与MySQL混淆解决方案是我在SQL Server配置管理器中编辑了设置:

一,。IP2应该是服务器的IP,在本例中为192.168.11.129 2.在IPAll中,动态端口必须为空,在我的例子中是43525或其他


一旦我更改了此选项,连接就可以正常启动。

您的SQL server允许使用root远程登录吗?@RichardBernards:是的,您使用的是哪个版本的SQL server,因为从2005年起,需要启动SQL server浏览服务,以便远程用户可以使用connect@Jaques:引用,我自己:那个,对于端IP 129,名为SQLTest的Microsoft SQL Server 2012使用Windows和SQL身份验证运行。使用SQL auth创建一个名为root的用户/登录名,并授予该用户对服务器、数据库以及他需要访问的所有其他内容的权限。我在SQLServer管理上测试了日志记录,效果很好。SQL Server正在运行,SQL Server浏览器也在运行。为什么要使用mysql函数连接到SQL Server?这些不能一起工作,真的没关系。这只是与服务器的简单连接,数据库稍后会与mysqli_select_db$con,$db_name连接;然而,即使我在第一行中添加了这个,它仍然会产生影响。此外,用户可以访问数据库,完全可以访问我的OP中提到的内容。@cyberion1985您是否尝试过将您的mysql服务器与任何第三方工具连接,例如workbench?谢谢,是的,这是我面临的下一个问题!也解决了这个问题,现在一切正常。谢谢你的帮助!