【发布时间】:2018-09-16 15:17:50
【问题描述】:
我们正在使用 Lumen 5.2.x (Laravel) 应用程序从 Oracle 数据库中获取数据。出于这个原因,我们使用oci_connect() 连接到数据库。 (额外信息:我们使用 Oracle 即时客户端)
由于未知原因,应用程序没有响应并且不会返回任何数据。经过大量小时的调试,我们发现它陷入了同样的方法: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
【问题讨论】:
-
你的网络服务器在什么系统上(在什么样的操作系统上运行你的 PHP 网络服务器?)?
-
Windows Server 2012 R2、IIS 8、PHP 5.6
-
你能看看你的php是否配置了以下内容?
./configure --with-oci8=shared,instantclient否则会出问题 -
您运行的是哪个 Oracle 版本?
标签: php laravel lumen oracle-call-interface