php 5.4 mssql_connect突然停止工作

时间:2015-02-11 19:39:51

标签: php sql-server-2008

环境:

  • Apache 2.2.9
  • PHP 5.4.37
  • freetds 0.91
  • SQL Server 2008

昨晚从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)}无法连接到服务器!!

请帮忙!

2 个答案:

答案 0 :(得分:0)

我无法发表评论询问此事,但这是我的想法。

  1. 显然它没有连接到命令行之外的服务器,所以你要仔细检查它的配置(检查服务器端口,指定端口等等。)< / p>

  2. 这是从Win或Unix类型的操作系统运行的吗?

答案 1 :(得分:0)

是Linux。我暂时找到了解决方法。问题似乎是在Windows端,虽然tsql -LH命令显示IP和端口,但它实际上并没有回答端口上的查询。您通过TCP连接到服务器,就是这样。

由于SQL服务器是多宿主,因此我向通过主IP连接到它的Web应用服务器添加了辅助连接。

我稍后会追查IP绑定和服务问题。或者只是将它全部转换为mariaDB或Postgres。