mssql_connect():无法连接到服务器(没有freetds.conf)

时间:2012-11-01 15:53:38

标签: php sql-server freetds

我有2台服务器:一台是OpenSUSE,另一台是SLES 11 sp2 Suse Linux Enterprise Server。

为了连接到MSSQL,我必须为php安装mssql.so。

OpenSUSE允许从rpm安装mssql。 SLES - 没有mssql rpm,这就是为什么需要编译它。

OpenSUSE:mssql rpm installed =>

$server="172.x.x.x:49888";
$username="username";
$password="password";
$link = mssql_connect($server, $username, $password);

这里成功连接到MSSQL!

SLES:使用mssql.so编译=>

$server="172.x.x.x:49888";
$username="username";
$password="password";
$link = mssql_connect($server, $username, $password);

错误:警告:mssql_connect():无法连接到服务器:172.x.x.x:49888

如果我编辑freetds.conf

#A typical Microsoft server
[Dovico]
    host = 172.x.x.x
    port = 49888
    tds version = 7.0

并像这样更改php:

$server="Dovico";
$username="username";
$password="password";
$link = mssql_connect($server, $username, $password);

=>成功连接到MSSQL!

所以我的问题是如何使用这个在SLES上(使用mssql.so编译)的MSSQL连接

mssql_connect("172.x.x.x:49888", "username", "password");

并没有使用freetds.conf?

1 个答案:

答案 0 :(得分:12)

修改freetds.conf(取消注释并更改版本):

[global]
        # TDS protocol version
;   tds version = 4.2

[global]
        # TDS protocol version
    tds version = 7.0

并重新启动Apache。