Я пытаюсь установить успешное соединение с Oracle с помощью PHP.
Вот как выглядит моя строка подключения:
<?php
$conn = oci_connect("USER", "PASS", "LOSINGMINDHOST");
if (!$conn) {
$e = oci_error();
error_log(trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR));
}
oci_close($conn);
?>
Получение следующей ошибки:
Warning: oci_connect(): ORA-12170: TNS:Connect timeout occurred
Что указывает на строку с oci_connect.
Я на Windows Server 2019.
Файл php.ini был обновлен и теперь включает следующее:
extension=oci8_12c
Я подтвердил, что указанный выше файл dll действительно находится в папке ext, указанной как:
php_oci8_12c.dll
Не уверен, почему файл php.ini не включает полное имя файла dll.
Сервер был установлен с 64-битным мгновенным клиентом Ocale 12g.
Мы подтвердили подключение с помощью клиента администратора источника данных ODBC с помощью файла tnsnames.ora.
У нас также есть файл listener.ora, который выглядит так:
PROD_MIR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (COMMUNITY = ttp.world)(PROTOCOL = TTP)(Host = LOSINGMINDHOST)(Port = 1524))
(ADDRESS = (COMMUNITY = ttp.world)(PROTOCOL = TTP)(Host = LOSINGMINDHOST)(Port = 1551))
(ADDRESS = (COMMUNITY = ttp.world)(PROTOCOL = TTP)(Host = LOSINGMINDHOST)(Port = 1538))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD)
)
)
Мы добавили путь TNS_ADMIN к переменным среды на сервере.
Мы уже перезапустили службы и даже перезагрузили сервер.
PROD_MIR
- person Felippe Duarte   schedule 10.11.2020