(PHP 7.2 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)
oci_set_call_timeout — Establece un tiempo de espera de milisegundos para las llamadas a la base de datos
Establece un tiempo de espera que limita el tiempo máximo que puede tardar un viaje de ida y vuelta de la base de datos con esta conexión.
Cada operación OCI8 puede realizar cero o más llamadas a la biblioteca
cliente de Oracle. Estas llamadas internas pueden realizar cero o más
viajes de ida y vuelta a la base de datos Oracle. Si alguno de esos
viajes de ida y vuelta tarda más del time_out
milisegundos,
la operación se cancela y se devuelve un error a la aplicación.
El valor time_out
se aplica a cada viaje de ida y vuelta
individualmente, no a la suma de todos los viajes de ida y vuelta. El tiempo dedicado
al procesamiento en PHP OCI8 antes o después de la finalización de cada
viaje de ida y vuelta no se cuenta.
Cuando se interrumpe una llamada, Oracle intentará limpiar la conexión
para su reutilización. Esta operación puede ejecutarse durante otro período
time_out
. Dependiendo del resultado de la limpieza,
la conexión puede o no ser reutilizable.
Cuando se utilizan conexiones persistentes, el valor de tiempo de espera se conservará en todas las solicitudes PHP.
La función oci_set_call_timeout() está disponible cuando OCI8 utiliza la biblioteca cliente de Oracle 18 (o posterior).
connection
Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().
timeout
El tiempo máximo en milisegundos que puede tomar cualquier viaje de ida y vuelta entre PHP y la base de datos Oracle.
Devuelve true
en caso de éxito o false
en caso de error.
Ejemplo #1 Ajuste del tiempo de espera
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);
?>