Ошибка в oci_connect
линия. Но моя проблема в том, что ошибка не отображается на странице. Даже если я положу $e = oci_error();
это больше не будет выполнено, чтобы показать ошибку. Я попытался попробовать / поймать, но это тоже не сработало.
Когда я изменяю детали подключения для подключения к другой базе данных, это работает. Детали подключения, которые я использую, работают в 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;
После попытки изменить настройку файла 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 и перезапустил сервер. Тогда это сработало!
Других решений пока нет …