(PHP 7.2 >= 7.2.14, PHP 7 >= 7.3.1, PECL OCI8 >= 2.2.0)
oci_set_call_timeout — Sets a millisecond timeout for database calls
$connection
, int $time_out
) : boolSets a timeout limiting the maxium time a database round-trip using this connection may take.
Each OCI8 operation may make zero or more calls to Oracle's client
library. These internal calls may then may make zero or more
round-trips to Oracle Database. If any one of those round-trips
takes more than time_out
milliseconds, then the
operation is cancelled and an error is returned to the application.
The time_out
value applies to each round-trip
individually, not to the sum of all round-trips. Time spent
processing in PHP OCI8 before or after the completion of each
round-trip is not counted.
When a call is interrupted, Oracle will attempt to clean up the
connection for reuse. This operation is allowed to run for
another time_out
period. Depending on the
outcome of the cleanup, the connection may or may not be reusable.
When persistent connections are used, the timeout value will be retained across PHP requests.
The oci_set_call_timeout() function is available when OCI8 uses Oracle 18 (or later) Client libraries.
connection
Oracle 连接标识,由 oci_connect(),oci_pconnect(),或 oci_new_connect() 返回。
time_out
The maximum time in milliseconds that any single round-trip between PHP and Oracle Database may take.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 Setting the timeout
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);
?>