我有 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.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 连接(使用 mssql.so 编译)
mssql_connect("172.x.x.x:49888", "username", "password");
不使用 freetds.conf 吗?
最佳答案
编辑 freetds.conf
(取消注释并更改版本):
来自
[global]
# TDS protocol version
; tds version = 4.2
到
[global]
# TDS protocol version
tds version = 7.0
并重新启动 Apache。
关于php - mssql_connect() : Unable to connect to server (without freetds. session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180746/