2

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

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

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

OpenSUSE:已安装 mssql rpm =>

$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.xxx: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 连接(使用 mssql.so 编译)

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

而不使用 freetds.conf ?

4

1 回答 1

12

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

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

[global]
        # TDS protocol version
    tds version = 7.0

并重新启动 Apache。

于 2012-11-01T18:22:14.760 回答