防火墙MS SQL服务器希望向Internet上的Ubuntu服务器提供数据。

因此,我建立了一条从MS SQL服务器到Ubuntu服务器的SSH隧道,要求Ubuntu将其port 1433通信发送到MS SQL的port 1433

根据this Stack Overflow的答案,我认为我应该在MS SQL服务器上执行此操作:

ssh -R 1433:localhost:1433 ubuntu.example.com 

这是Windows计算机,所以我在PuTTY中做到了:

在本地网络中,我已经测试过使用PHP连接到SQL Server,并且它可以正常工作。
$server = '192.168.0.12'; 
$user = 'buttle'; 
$pass = '1234'; 
mssql_connect($server,$user,$pass); 

现在,我想尝试使用SSH隧道而不是“直接”连接来连接相同的两台计算机。所以我将$ server更改为此:
$server = 'localhost,1433'; 

然后,我使用PuTTy将SSH隧道从SQL Server计算机连接到Ubuntu计算机。也许这就是我要出问题的地方,因为我不知道自己在做什么。



我在Ubuntu机器上收到此PHP错误:
Warning: mssql_connect(): Unable to connect to server: localhost,1433  

编辑:

还尝试了这个:



还有这个:

[![使用MS SQL服务器中指定的IP地址远程IPv4] [5]] [5]

最后,我已经解决了。看我的答案。

请您参考如下方法:

使用PHP的mssql函数的所有在线教程均假定您在Windows环境中运行PHP。显然,在Windows中,IP和端口号由逗号分隔,而在Linux中由冒号分隔。

// Linux running PHP 
$server = 'localhost:1433'; 
// Windows running PHP 
$server = 'localhost,1433'; 

像往常一样,数小时的问题归结为一个字节。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!