簡體   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