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

iht*_*tus 2 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);
Run Code Online (Sandbox Code Playgroud)

这里成功连接到MSSQL!

SLES:用mssql.so编译=>

$server="172.x.x.x:49888";
$username="username";
$password="password";
$link = mssql_connect($server, $username, $password);
Run Code Online (Sandbox Code Playgroud)

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

如果我编辑freetds.conf

#A typical Microsoft server
[Dovico]
    host = 172.x.x.x
    port = 49888
    tds version = 7.0
Run Code Online (Sandbox Code Playgroud)

并改变这样的PHP:

$server="Dovico";
$username="username";
$password="password";
$link = mssql_connect($server, $username, $password);
Run Code Online (Sandbox Code Playgroud)

=>成功连接到MSSQL!

所以我的问题是我怎么能对SLES MSSQL的连接(与mssql.so编译)在使用本

mssql_connect("172.x.x.x:49888", "username", "password");
Run Code Online (Sandbox Code Playgroud)

而不是使用freetds.conf?

iht*_*tus 12

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

[global]
        # TDS protocol version
;   tds version = 4.2
Run Code Online (Sandbox Code Playgroud)

[global]
        # TDS protocol version
    tds version = 7.0
Run Code Online (Sandbox Code Playgroud)

并重启Apache.