我最近买了一台 Mac,并将其用作我的主要电脑。
因为我需要通过 PHP 使用 MSSQL,所以我安装了 Parallels Desktop 并在其上运行 Server 2008 R2。我使用与之前在 Windows 上使用的相同的混合模式身份验证。
当我尝试使用新的测试文件或旧代码通过 PHP 连接到服务器时,它就是找不到服务器。
我曾尝试在 XP 安装中使用 Parallels 运行 PHP,并使用主机名等COMPUTERNAME\SQLEXPRESS
,LOCALIP\SQLEXPRESS
localhost
localip
但 PHP 始终找不到服务器。
另请注意,我可以使用 Management Studio 毫无问题地连接到数据库服务器,因此 SQL Server 正在运行。
请注意,PHP 和 MSSQL 都在虚拟化环境中运行。
任何贡献都值得赞赏
答案1
对于 SQL Server Express,默认情况下不允许远程连接。您启用了它们吗?
看https://stackoverflow.com/questions/11278114/enable-remote-connections-for-sql-server-express-2012
答案2
检查 Parallels Desktop 网络选项中的虚拟网络模式。肯定不应该是“不需要网络”。
看来“桥接以太网”模式只是您的选择。在此模式下,您的 Mac 和虚拟 Windows 都将拥有自己的独立 IP 地址,并且您可以在虚拟 PC 之间进行通信。
答案3
可能值得确认 MS SQL 是否正在监听端口 1433 和 1434,或者它可能已在注册表中被覆盖的任何端口。
网络状态
寻找类似的东西:
TCP HOSTNAME:1433 HOSTNAME.FQDN:0 LISTENING
TCP HOSTNAME:1434 HOSTNAME.FQDN:0 LISTENING
如果您有上述端口号,他们可能会将其识别为 mssql。
管理工作室可能正在建立本地连接,即不通过网络接口。
如果上面的 netstat 命令中没有任何内容正在监听,您可能需要激活虚拟机网络选项之一才能使本地连接正常工作。我猜想了一下,因为我从未在未激活网络选项的情况下设置过虚拟机。
干杯,M。