Рейтинг:0

Драйвер oracle db для подключения php — ubuntu 20.04

флаг bd

Итак, я задал этот вопрос несколько дней назад, но тема была закрыта, потому что я работал на Ubuntu 16.04. Теперь я обновился до Ubuntu 20.04.3 LTS.

У меня есть php-страница на apache и мое соединение с Oracle db:

$conn=odbc_connect("имя хоста","пользователь","пароль");

дает мне эту ошибку:

AH01071: получена ошибка «Сообщение PHP: Предупреждение PHP: odbc_connect (): ошибка SQL: [unixODBC] [Диспетчер драйверов] Имя источника данных не найдено, и драйвер по умолчанию не указан, состояние SQL IM002 в SQLConnect

Я понимаю, что мне нужно установить драйвер, чтобы он заработал, но я не уверен, какой именно?
Поскольку база данных оракула находится в другом месте, на моем компьютере обязательно должна быть установлена ​​​​java (jdk)?

флаг in
Была ли [ссылка, которую я разместил] (https://askubuntu.com/questions/1358771/oracle-db-driver-for-php-connection-ubuntu-16-php7-4#comment2327376_1358771) недостаточной?
Рейтинг:0
флаг cn

Ваш язык программирования, очевидно, PHP, поэтому он не имеет ничего общего с Java, JDK, JDBC или чем-то еще.

Я приведу два источника, т.к. ИМХО они достаточно хороши, чтобы не надо было тут все тиражировать.

Для PHP проще всего использовать Oracle Instant Client и PHP Database Object (PDO).

Резюме из Убунту Вики:

Установите следующие пакеты, которые доступны как пакеты RPM на веб-сайте Oracle:

oracle-instantclient-basiclite
oracle-instantclient-devel
oracle-instantclient-sqlplus

Затем установите PHP OCI8: см. здесь, начиная с шага 7. Подводя итог: основная команда, которую нужно выполнить, — это установить его через PHP PECL:

pecl установить oci8 # PHP 8
pecl установить oci8-2.2.0 # PHP 7.x

И последнее, но не менее важное: убедитесь, что php.ini (в зависимости от того, используете ли вы PHP-CLI или PHP-FPM, это может быть /etc/php/ВЕРСИЯ/php-кли или же /etc/php/ВЕРСИЯ/php-fpm, куда ВЕРСИЯ может быть что-то вроде 7.4 или же 8.0) загружает драйвер OCI:

расширение = oci8
расширение = pdo_oci

Это должно быть все. Если есть какие-либо другие проблемы, обратитесь к Ubuntu Wiki, на которую я ссылался выше. Для меня этих шагов было достаточно.

$dbconn = новый PDO('oci:dbname=MY_CONNENCTION', 'имя пользователя', 'pa55w0rd');

МОЕ_СОЕДИНЕНИЕ может быть либо именем, указанным в файле tnsnames.orgили всю длинную строку подключения, которая указана справа от равенства (=) войдите в файл tnsnames.ora, обычно начиная с (ОПИСАНИЕ= или же (DESCRIPTION_LIST=.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.