[英]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.