oci — проблема соединения оракула с php (xampp)

Мне нужно соединить базу данных oracle 11g с моим сервером xampp, и мне нужно как локальное, так и удаленное соединение. Для этого я сначала установил экспресс-версию Oracle 11g и скачал instantclient-basic-nt-11.2.0.4.0 и поместил извлеченную папку instantclient_11_2 в C:\ Затем я устанавливаю переменную среды (системные переменные), и значение моего пути выглядит следующим образом path=C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\instantclient_11_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

Я также изменил имя пользователя и пароль при подключении к другому компьютеру.

Нотабене После включения расширений .dll из файла php.ini при каждом запуске Apache я получаю всплывающее предупреждение в xampp, которое Module 'oci8' is already loaded

Как я могу решить проблему удаленного подключения?

0

Решение

Вам не нужен установлен InstantClient; Oracle XE включает в себя полный клиент Oracle.

Существует много возможных причин, по которым удаленное соединение не работает, но наиболее распространенными (по моему опыту) являются:

  1. Брандмауэр на вашем компьютере блокирует соединение.
  2. Брандмауэр на удаленном ПК блокирует соединение.
  3. Слушатель TNS не работает на удаленном ПК.
  4. Строка подключения неверна.

Можно ли подключиться к удаленному ПК без PHP? Вы пробовали через SQL * Plus или просто tnsping команда?


Нотабене После включения расширений .dll из файла php.ini при каждом запуске Apache я получаю всплывающее предупреждение в xampp, которое Module 'oci8' is already loaded

Это говорит само за себя: вы пытаетесь загрузить модуль OCI более одного раза. Вы должны иметь только один Модуль OCI включен, так что если у вас есть что-то вроде ниже в вашем php.ini файл, вот в чем проблема:

extension=php_oci8.dll
extension=php_oci8_11g.dll

Только php_oci8_11g.dll должен быть включен, так как это версия, которую вы установили.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]