为什么我的服务器不能使用PHP mssql_connect连接到远程MSSQL服务器?

时间:2011-06-02 13:19:59

标签: php sql-server linux apache2 freetds

我不得不将我们为客户端编写的应用程序移动到新服务器和我用PHP启动的远程连接mssql_connect已停止工作。我注意到PHP没有用mssql编译,所以我请服务器管理员安装它。我可以验证它现在是通过PHP信息安装的,但我现在从mssql_connect获得一致的“无法连接到服务器”错误。

这是我正在运行的非常简单的PHP脚本:

$myServer = "myserver.com:5000";
$myUser = "myusername";
$myPass = "mypassword";

$dbhandle = mssql_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer. Error: " . mssql_get_last_message());

我已经确认凭据仍然正确但无论出于何种原因,似乎mssql_connect只是没有做到这一点。我想知道是否有管理员已经安装了扩展和FreeTDS的东西。任何指针非常感谢! :)

问题已解决!!!

毕竟,结果是/usr/local/freetds/etc/freetds.conf中指定的FreeTDS协议版本号,必须取消注释第13行。就是这样! :)

2 个答案:

答案 0 :(得分:3)

毕竟,结果是/usr/local/freetds/etc/freetds.conf中指定的FreeTDS协议版本号,必须取消注释第13行。就是这样! :)

答案 1 :(得分:0)

很有可能在安装服务器的服务器上禁用远程连接。您是否已经检查过您是否能够从尝试连接到它的Web服务器的IP地址远程连接到数据库服务器?通常,至少在大多数共享主机方案中,数据库服务器只接受来自localhost的连接。您需要将网络服务器的IP地址添加到白名单(通常在服务器的配置中)以允许来自外部的连接。