oci_set_call_timeout
(PHP 7.2 >= 7.2.14, PHP 7 >= 7.3.1, PECL OCI8 >= 2.2.0)
oci_set_call_timeout — Устанавливает время ожидания в миллисекундах для вызовов базы данных
Описание
$connection
, int $time_out
) : boolУстанавливает время ожидания, ограничивающее максимальное время кругового пути (round-trip) базы данных при использовании этого подключения.
Каждая операция OCI8 может выполнять ноль или более вызовов к клиентской библиотеки Oracle.
Затем эти внутренние вызовы могут привести к нулевому или большему количеству обращений к базе данных Oracle.
Если какой-либо из этих циклических обходов занимает больше миллисекунд, чем указано в time_out
,
операция отменяется и приложению возвращается ошибка.
Значение time_out
применяется к каждому циклу в отдельности,
а не к сумме всех циклов в оба конца.
Время, затраченное на обработку в PHP OCI8 до или после завершения каждого циклического пути, не учитывается.
При прерывании вызова Oracle попытается очистить соединение для повторного использования.
Данная операция может быть запущена для другого периода time_out
.
В зависимости от результатов очистки подключение может использоваться повторно.
При использовании постоянных соединений значение тайм-аута сохраняется в запросах PHP.
Функция oci_set_call_timeout() доступна, когда OCI8 использует клиентские библиотеки Oracle 18 (или более поздней версии).
Список параметров
-
connection
-
Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().
-
time_out
-
Максимальное время в миллисекундах, которое может занять один циклический путь (round-trip) между PHP и базой данных Oracle
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примеры
Пример #1 Установка времени ожидания
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);
?>