【发布时间】:2015-06-02 06:14:21
【问题描述】:
我有一个使用 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());
}
我该如何解决这个问题?或者我应该从哪里开始调查这个问题?
【问题讨论】:
-
你在哪里使用
SQLSRV_ATTR_QUERY_TIMEOUT -
另外,脚本所在的网络和 SQL 服务器所在的网络相同或不同的网络。当有人注意到一些 SQL 流量通过时,是否有可能关闭一些帖子?
-
我通过添加
$pdo_opt[PDO::SQLSRV_ATTR_QUERY_TIMEOUT] = 30;修复了它但是为什么它突然停止工作?
标签: php mysql sql-server pdo