通过PHP连接到SQL Server失败

时间:2015-03-29 04:54:25

标签: php mysql sql-server pdo

我有一个脚本,它使用PDO创建了2个与数据库的连接。

第一个连接是SQL Server,第二个连接是MySQL。

脚本工作正常,直到昨天。我想不出任何可能改变的事情。但是剧本现在失败了

这是我在尝试连接到SQL Server时获得的例外

SQLSTATE[IMSSP]: Invalid value 1 specified for option PDO::SQLSRV_ATTR_QUERY_TIMEOUT.

我在Apache 2.4.12上运行PHP 6.6

我查看了脚本,连接应该没有问题。

这是我的连接字符串

$connString = 'sqlsrv:Server=MyIP,1433;Database=MyDBname';

$pdo_opt[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$pdo_opt[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_ASSOC;

$pdo_opt[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET NAMES utf8';
$pdo_opt[PDO::MYSQL_ATTR_LOCAL_INFILE] = true;

$pdo_opt[PDO::SQLSRV_ATTR_ENCODING] = PDO::SQLSRV_ENCODING_UTF8;

try {
    $pdo = new PDO($connString, $username, $password, $pdo_opt);
} catch(Exception $e){

    exit($e->getMessage());
}

如何更正此问题?或者我应该从哪里开始调查此问题?

1 个答案:

答案 0 :(得分:1)

我明白了。我通过添加这行代码来修复它

$pdo_opt[PDO::SQLSRV_ATTR_QUERY_TIMEOUT] = 30;