PHP 5.2.0-8上的oci_connect无法与Oracle 11g一起使用

问题描述 投票:0回答:1

我使用PHP 5.2.0-8 + etch16 / oci_connect连接到我公司的Oracle DB,并在我们的网站上显示信息(可通过外部IP访问)。自从我们升级数据库版本(到11g 11.2.0.4.0版)以来,我再也无法连接到数据库。

页面保持加载状态(oci_set_call_timeout不起作用),并且什么也没有显示。我知道代码可以正常工作并且凭据也可以,因为我在另一页中使用了相同的代码(仅对内部IP可见),并且升级后没有任何问题。我正在使用以下代码:

$conn = oci_connect('user', 'password', 'server', 'charset');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    echo "Error";
}
else{
    echo "OK";
}

正在运行phpinfo,oci部分返回:

oci8
OCI8 Support    enabled
Version     1.4.5
Revision    $Revision: 305257 $
Active Persistent Connections   0
Active Connections  0
Oracle Instant Client Version   11.1
Temporary Lob support   enabled
Collections support     enabled

Directive   Local Value Master Value
oci8.connection_class   no value    no value
oci8.default_prefetch   100 100
oci8.events Off Off
oci8.max_persistent -1  -1
oci8.old_oci_close_semantics    Off Off
oci8.persistent_timeout -1  -1
oci8.ping_interval  60  60
oci8.privileged_connect Off Off
oci8.statement_cache_size   20  20

在仅内部IP可以访问的页面中,oci的版本为1.4.9,它正在Windows Server 2003上运行(我知道它很旧)。外部页面(不起作用的页面)的oci版本为1.4.5,并且在Linux jedi-ng 2.6.25中运行。我无权访问linux服务器(仅访问php / html的存储文件夹),但是我可以使用shell_exec()运行某些操作。

这是版本问题(我不能再使用旧版本的php / oci连接到Oracle 11g了,或者这只是我可以尝试另一种方法解决的连接问题?

如有需要,随时提问。

提前感谢。

我使用PHP 5.2.0-8 + etch16 / oci_connect连接到我公司的Oracle DB,并在我们的网站上显示信息(可通过外部IP访问)。自从我们将数据库版本升级到11g ...

oracle11g oci php-5.2
1个回答
0
投票
  • 将此添加到测试脚本的顶部,看看是否收到更好的错误消息:

© www.soinside.com 2019 - 2024. All rights reserved.