编程语言
首页 > 编程语言> > PHP oci_connect()卡住了/没有超时

PHP oci_connect()卡住了/没有超时

作者:互联网

我们正在使用Lumen 5.2.x(Laravel)应用程序从Oracle数据库获取数据.因此,我们使用oci_connect()连接到数据库. (其他信息:我们使用Oracle InstantClient)

由于未知原因,该应用程序没有响应,也不会返回任何数据.经过大量的调试,我们发现它陷入了同样的方法:oci_connect().显然,该函数未返回“超时”消息或类似内容.

后来,数据库似乎移到了另一台主机,这就是它无法连接的原因.但是,我们期望出现错误,而不是等待大量时间.

这就是我们试图强制设置超时的原因,直到现在还没有解决.

我们尝试过的事情:

>将其添加到连接字符串:(CONNECT_TIMEOUT = 10)(RETRY_COUNT = 3),该字符串将被完全忽略.
>将max_execution_time和set_time_limit设置为1
>使用设置添加sqlnet.ora:

TCP.CONNECT_TIMEOUT = 10

SQLNET.INBOUND_CONNECT_TIMEOUT = 10

SQLNET.OUTBOUND_CONNECT_TIMEOUT = 10

我们尝试过的所有方法都失败了,有人知道如何解决此错误吗?任何帮助表示赞赏!

编辑:
系统信息:
Windows Server 2012 R2,IIS 8,PHP 5.6

解决方法:

下面是用于oracle的laravel软件包,您可以尝试一下,

laravel package for oracle

标签:lumen,laravel,oci,php
来源: https://codeday.me/bug/20191025/1927170.html