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;
答案 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并重新启动了服务器。然后它奏效了!