Мне нужно подключить базу данных oracle 11g к моему серверу xampp, и мне нужно как локальное, так и удаленное соединение. Для этого я сначала установил экспресс-версию oracle 11g, загрузил instantclient-basic-nt-11.2.0.4.0
и поместил извлеченную папку instantclient
в connected
2C:\
, затем я установил переменную среды (системные переменные), и мое значение пути выглядит так path=C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\instantclient
.connected
2
Затем я удалил ;
перед extension=php_oci8.dll
и extension=php_oci8_11g.dll
из файла php.ini
. Затем сначала я попытался подключиться к своей локальной базе данных:
$tns_turjo = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.13)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; // tns of another pc
$tns_ishrak = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; // tns of my pc
$conn = oci_connect('system', 'cibl123*#', $tns_turjo);
if($conn) {
echo "connected";
}
else {
echo "not";
}
Когда я передаю $tns_ishrak
, он повторяет connected
, но когда я пытаюсь получить доступ к базе данных оракула другого компьютера, то есть использую $tns_turjo
, он отображает not
, и ошибка
Message: oci_connect(): ORA-12170: TNS:Connect timeout occurred
Я также изменил имя пользователя и пароль при подключении к другому компьютеру.
N.B. После включения расширений .dll из файла php.ini всякий раз, когда я запускаю Apache, я получаю всплывающее предупреждение в xampp, которое Module 'oci8' is already loaded
Как я могу решить проблему удаленного подключения?