以及我最近买了一台Mac,并使用它作为我的主电脑。
因为我需要通过PHP使用MSSQL,所以我安装了Parallels Desktop并在其上运行Server 2008 R2。 我使用的是以前在Windows上使用的混合模式身份validation。
当我尝试使用新的testing文件或旧的代码与PHP连接到服务器时,它只是找不到服务器。
我已经尝试在XP安装与平行运行PHP,并使用主机名作为COMPUTERNAME\SQLEXPRESS , LOCALIP\SQLEXPRESS localhost localip等,PHP永远找不到服务器。
另外请注意,我可以使用Management Studio连接到数据库服务器而不会出现问题,因此SQL Server正在运行。
请注意,PHP和MSSQL都在虚拟环境中运行。
任何贡献表示赞赏
对于SQL Server Express,默认情况下不允许远程连接。 你有没有启用它们?
请参阅https://stackoverflow.com/questions/11278114/enable-remote-connections-for-sql-server-express-2012
检查Parallels Desktop的networking选项中的虚拟networking模式。 当然不应该是“不需要networking连接”。
似乎“桥接以太网”模式,这只是你的select。 在这种模式下,您的Mac和虚拟Windows都将拥有自己独立的IP地址,您可以在虚拟PC之间进行通信。
可能值得确认MS SQL正在侦听端口1433和1434,或者任何可能被覆盖到registry中的内容。
netstat -a
寻找像这样的东西:
TCP HOSTNAME:1433 HOSTNAME.FQDN:0 LISTENING TCP HOSTNAME:1434 HOSTNAME.FQDN:0 LISTENING
他们可能会将其标识为mssql,您是否有上面的端口号。
pipe理工作室可能正在build立本地连接,即。 不通过networking接口。
如果上面的netstat cmd中没有任何监听,则可能需要激活其中一个虚拟机networking选项才能使本地连接正常工作。 有一个猜测的位,因为我从来没有设置一个VM,没有一个networking选项活跃。
干杯