PHP Oracle:oci_connect没有显示错误

时间:2015-01-27 08:44:25

标签: php oracle error-handling oci

oci_connect行中有错误。但我的问题是该错误没有显示在页面中。即使我放$e = oci_error();,也不会再执行它来显示错误。我尝试过try / catch,但它也没有用。

当我更改连接详细信息以连接到另一个数据库时,它可以工作。我使用的连接细节可以在SQL Developer中使用。

$db='(DESCRIPTION =
(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = '. $GLOBALS['HOST']. ')(PORT = '. $GLOBALS['PORT'] .'))
)
(CONNECT_DATA =
  (SID = '. $GLOBALS['SID'] . ')
)
)';
echo '<br>USERNAME: *'. $GLOBALS['USERNAME'] .'*';
echo '<br>PASSWORD: *'. $GLOBALS['PASSWORD'] .'*';
echo '<br>2 db: *'. $db .'*';
$conn = oci_connect($GLOBALS['USERNAME'], $GLOBALS['PASSWORD'], "$db");
echo 'success';
die;

1 个答案:

答案 0 :(得分:0)

尝试更改PHP.ini文件设置以显示所有错误后,确实没有显示任何错误,然后我更新了Oracle Instant Client版本。

首先,我查看我正在使用的Oracle版本:

select * from v$version
where banner like 'Oracle%';

输出:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

在此之后,我下载了新的Oracle Instant Client版本11.2.0.3.0并将其设置为PATH并重新启动了服务器。然后它奏效了!