繁体   English   中英

如何管理PHP odbc_exec超时?

[英]How to manage PHP odbc_exec timeout?

我有一个命令行PHP脚本,该脚本使用ODBC连接连接到SQL Server 2005。 它使用odbc_exec()来执行存储过程,该过程可能需要一段时间才能处理,但我不希望它超时。

我一直无法在PHP文档中找到有关如何设置odbc_exec()超时的任何信息。 是否默认为无限等待?

您在这里只能做很多事情。 PHP的默认脚本执行时间设置为30秒。 有很多更改方法,包括set_time_limit()函数(可在手册中找到)以及使用ini_setodbc_setoption延长执行时间。

//extend execution time
$num_minutes = 5;
ini_set('max_execution_time', (60*$num_minutes)); //set timeout to 5 minutes

您也可以在php.ini文件中更改此设置。 但是,所有这些都只能控制apache服务器可以控制的范围。 如果数据库本身有超时,即使您自己设置的执行时间增加了,它仍然会切断您的呼叫并返回错误。

根据php.net,您可以使用odbc_setoption()

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);// 30 seconds timeout
odbc_execute($result);

因此您可以根据需要将超时时间增加一些

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM