PHP Conference Japan 2024

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_timeout设置数据库调用的毫秒超时

描述

oci_set_call_timeout(资源 $connection, 整数 $timeout): 布尔值

设置一个超时,限制使用此连接的数据库往返可能花费的最长时间。

每个 OCI8 操作都可能对 Oracle 的客户端库进行零次或多次调用。这些内部调用然后可能对 Oracle 数据库进行零次或多次往返。如果这些往返中的任何一个花费的时间超过 time_out 毫秒,则操作将被取消,并将错误返回到应用程序。

time_out 值适用于每个往返行程,而不是所有往返行程的总和。在每个往返行程完成之前或之后在 PHP OCI8 中花费的时间不计入。

当调用被中断时,Oracle 将尝试清理连接以供重用。此操作允许运行另一个 time_out 周期。根据清理结果,连接可能可重用也可能不可重用。

当使用持久连接时,超时值将在 PHP 请求之间保留。

当 OCI8 使用 Oracle 18(或更高版本)客户端库时,oci_set_call_timeout() 函数可用。

参数

connection

一个 Oracle 连接标识符,由 oci_connect()oci_pconnect()oci_new_connect() 返回。

timeout

PHP 和 Oracle 数据库之间任何单个往返行程可能花费的最长时间(以毫秒为单位)。

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 设置超时

<?php

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

?>

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top