2

2台のサーバーがあります。1台はOpenSUSEで、もう1台はSLES 11 sp2 Suse LinuxEnterpriseServerです。

MSSQLに接続するには、php用のmssql.soをインストールする必要があります。

OpenSUSEは、rpmからmssqlをインストールすることを許可します。SLES-mssql rpmがないため、コンパイルする必要があります。

OpenSUSE:mssqlrpmがインストールされています=>

$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に正常に接続されました!

だから私の質問は、これを使用して(mssql.soをコンパイルして)SLESでMSSQL接続を確立するにはどうすればよいですか?

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 に答える