【发布时间】:2014-01-03 15:43:56
【问题描述】:
我正在尝试使用 PDO 从 PHP 运行 MSSQL 存储过程。我一直这样做,但使用这个 SP 会超时。 SP 相当复杂,运行大约需要 4 分钟。
我这样称呼它:
$setDate = '2014-01-03';
$queryMain = $coreDB->prepare("exec sp_ard :runDate");
$queryMain->bindParam("runDate",$setDate);
$queryMain->execute();
$e = $queryMain->errorInfo();
$d = $queryMain->fetchAll(PDO::FETCH_ASSOC);
print_r($e);
print_r($d);
当我运行页面时,它会运行一分钟左右然后产生这个错误:
Array ( [0] => 08S01 [1] => 258 [2] => [Microsoft][SQL Server Native Client 10.0]TCP Provider: Timeout error [258]. )
我知道 SP 工作正常。我可以直接从 MSSQL 管理控制台运行它。从那里运行大约需要 4 分钟,但运行良好。
我正在尝试弄清楚如何从 PHP 运行它。
任何帮助都会很棒。
谢谢!
【问题讨论】:
-
您是否在 php.ini 上占用了 4 分钟或更多时间来解决运行时脚本超时?标准是 60 秒。
-
您是否阅读了
PDO::ATTR_TIMEOUT的文档? php.net/manual/en/pdo.setattribute.php -
你知道是SP完成还是超时只是连接? 4分钟是加载页面的时间。这需要是一个后台进程。
标签: php sql-server