(PHP 7.2 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)
oci_set_call_timeout — 設定資料庫呼叫的毫秒逾時
設定使用此連線的資料庫往返最大時間限制的逾時。
每個 OCI8 操作可能會對 Oracle 的用戶端函式庫進行零次或多次呼叫。這些內部呼叫接著可能會對 Oracle 資料庫進行零次或多次往返。如果其中任何一次往返花費的時間超過 time_out
毫秒,則操作將會取消,並向應用程式返回一個錯誤。
time_out
值個別套用於每次往返,而不是所有往返的總和。在每次往返完成之前或之後,在 PHP OCI8 中處理所花費的時間不計入在內。
當呼叫被中斷時,Oracle 會嘗試清理連線以供重複使用。此操作允許再執行 time_out
時間。根據清理的結果,連線可能會或可能不會重複使用。
使用持續性連線時,逾時值將會在 PHP 要求之間保留。
當 OCI8 使用 Oracle 18(或更高版本)用戶端函式庫時,oci_set_call_timeout() 函式才可用。
connection
由 oci_connect()、oci_pconnect() 或 oci_new_connect() 返回的 Oracle 連線識別碼。
timeout
PHP 和 Oracle 資料庫之間任何單次往返可能花費的最長時間(以毫秒為單位)。
範例 #1 設定逾時
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);
?>