我们正在使用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软件包,您可以尝试一下,