2015-01-27 4 views
0

В строке oci_connect есть ошибка. Но моя проблема в том, что ошибка не отображается на странице. Даже если я положил $e = oci_error();, он больше не будет выполнен, чтобы показать ошибку. Я попробовал try/catch, но он тоже не работал.PHP Oracle: oci_connect не показывает ошибку

Когда я изменяю детали соединения для подключения к другой базе данных, он работает. Детали подключения, которые я использую, работают в 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

Там действительно никаких ошибок быть показаны после попытки изменить настройку, чтобы показать все ошибки в файле php.ini, то я обновил Instant Client версии Oracle.

Сначала я проверить, что 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 версии Version 11.2.0.3.0 и установить его PATH и перезапущенный сервер. Тогда это сработало!

Смежные вопросы