[英]How to manage PHP odbc_exec timeout?
我有一个命令行PHP脚本,该脚本使用ODBC连接连接到SQL Server 2005。 它使用odbc_exec()来执行存储过程,该过程可能需要一段时间才能处理,但我不希望它超时。
我一直无法在PHP文档中找到有关如何设置odbc_exec()超时的任何信息。 是否默认为无限等待?
您在这里只能做很多事情。 PHP的默认脚本执行时间设置为30秒。 有很多更改方法,包括set_time_limit()
函数(可在手册中找到)以及使用ini_set
或odbc_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.