环境:
昨晚从Microsoft应用的更新后,我的mssql_connect停止了工作。
tsql -LH x.x.x.x
仍然正确显示服务器和端口
tsql -H x.x.x.x -U user
连接正常
我在apache日志文件或freetds日志中没有得到任何结果
以下是失败的代码段(关键信息已更改)
error_reporting(E_ALL); ini_set('display_errors',1);
$con = mssql_connect('server', 'user', 'pass');
var_dump($con);
if (!$con) {
if ( function_exists('error_get_last') ) {
var_dump(error_get_last());
}
die('Could not connect to the server!!'.mssql_get_last_message());
}
结果如下:
警告:mssql_connect():无法连接到服务器:服务器位于第25行的/home/....../public_html/states/index.php中 bool(false)
数组(4){[" type"] => int(2)
[" message"] => string(55)" mssql_connect():无法连接到服务器:服务器"
[" file"] => string(63)" / home /....../ public_html / states / index.php"
[" line"] => int(25)}无法连接到服务器!!
请帮忙!
答案 0 :(得分:0)
我无法发表评论询问此事,但这是我的想法。
显然它没有连接到命令行之外的服务器,所以你要仔细检查它的配置(检查服务器端口,指定端口等等。)< / p>
这是从Win或Unix类型的操作系统运行的吗?
答案 1 :(得分:0)
是Linux。我暂时找到了解决方法。问题似乎是在Windows端,虽然tsql -LH命令显示IP和端口,但它实际上并没有回答端口上的查询。您通过TCP连接到服务器,就是这样。
由于SQL服务器是多宿主,因此我向通过主IP连接到它的Web应用服务器添加了辅助连接。
我稍后会追查IP绑定和服务问题。或者只是将它全部转换为mariaDB或Postgres。