PHP Conference Nagoya 2025

oci_set_call_timeout

(PHP 7.2 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)

oci_set_call_timeoutSets a millisecond timeout for database calls

説明

oci_set_call_timeout(resource $connection, int $timeout): bool

Sets a timeout limiting the maximum 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

oci_connect()oci_pconnect() あるいは oci_new_connect() が返す Oracle 接続 ID。

timeout

The maximum time in milliseconds that any single round-trip between PHP and Oracle Database may take.

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 Setting the timeout

<?php

$conn
= oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top