Код: Выделить всё
$host = "iacademy2.oracle.com";
$port = "1521";
$service_name = "orclpdb";
$username = "username";
$password = "password";
$dsn = "(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = $host)(PORT = $port))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = $service_name)
)
)";
$conn = oci_connect($username, $password, $dsn);
if (!$conn) {
$e = oci_error();
echo "Connection error: " . $e['message'];
exit;
}
echo "Successfully connected to Oracle!";
ORA-12170: TNS: истекло время ожидания соединения
ORA-12541: TNS: нет прослушивателя< /p>
Как я могу решить эту проблему с подключением к базе данных Oracle из PHP, учитывая, что расширение oci8 уже установлено и работает правильно, и я могу получить доступ к базе данных Oracle в браузер? У вас есть идеи? Я был бы очень признателен. Мне это нужно для моего факультета.
Кроме того, я могу получить доступ к базе данных Oracle через браузер (через https://iacademy2.oracle.com/ords/) , поэтому я знаю, что экземпляр Oracle запущен и работает. Однако у меня возникли проблемы с подключением к нему через PHP.
Я пробовал изменить значение HOST в строке подключения на разные адреса, но это не решило проблему. Соединение по-прежнему не удается. Я использовал 192.168.0.1 в качестве хоста, но он говорит:
Предупреждение: oci_connect(): ORA-12541: TNS: нет прослушивателя в D:\frontend\pages \test.php в строке 16
Ошибка соединения: ORA-12541: TNS: нет прослушивателя.
У меня также включен XAMPP. Еще один момент: из cmd я пытался использовать C:\\Users\\Lenovo\>telnet iacademy2.oracle.com 1521
Подключение к iacademy2.oracle.com... Не удалось открыть соединение с хостом, порт 1521: Ошибка подключения
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-listener