错误:mssql_connect():无法连接到服务器:

时间:2017-02-13 22:10:54

标签: php sql-server symfony

使用下面的代码总是连接到数据库的某些cron函数突然开始失败会出现什么问题?

它似乎无法连接到数据库。证书很好,他们没有改变。 TestConnect是一个被调用的类,然后我想连接到我的数据库。我这样用它:

a

现在找到了类文件,据我所知它正在运行。

b

现在最有趣的是,如果我把$ test = new \ TestConnect(true);进入某种功能并从另一个功能调用它似乎工作。但是如果我调用$ test = new \ TestConnect(true);从同样的功能 - 它不起作用。

它的工作方式如下:

$test = new \TestConnect(true);

我将此功能称为:

class TestConnect
{

private $_server = 'test';
private $_username = 'test';
private $_password = 'password';
private $_database = 'database';
private $_query = null;
private $_handle = null;
private $_handle_db = null;
private $_result = null;

public function __construct($connect = null, $query = null)
{
    if ($connect)
    {
        $this->connect();
    }

    if ($query)
    {
        $this->query($query);
    }
}

public function connect()
{
    ini_set('memory_limit','1024M');
    putenv("FREETDSCONF=/etc/freetds.conf");

    if ($this->_handle)
    {
        return $this->_handle;
    }
    else
    {
        if ( ! $this->_handle = mssql_connect($this->_server, $this->_username, $this->_password))
        {
            throw new Exception($this->get_error_message());
        }

        if ( ! $this->_handle_db = mssql_select_db($this->_database, $this->_handle))
        {
            throw new Exception($this->get_error_message());
        }
    }
}
}

这样连接起作用,我得到了所有数据。但是,如果我使用没有任何功能的代码 - 它不起作用。这怎么可能?

1 个答案:

答案 0 :(得分:0)

发现断开功能导致了问题。在所有函数和数据查询之后,将代码更改为仅与数据库断开连接一次。