Подключение к Oracle с помощью PHP
Как подключиться к удаленному экземпляру базы данных Oracle с PHP?
Мне нужно запросить (только для чтения) удаленную базу данных Oracle для получения некоторой информации; нужно ли устанавливать мгновенный клиент Oracle?
Достаточно ли расширения OCI для PHP?
5 answers
Для использования этого расширения вам понадобятся клиентские библиотеки Oracle.
Наиболее удобным способом установки всех необходимых файлов является использование Oracle Instant Client, который доступен на сайте Oracle
Лучшим руководством по использованию PHP с Oracle является Подземное руководство PHP Oracle. Периодически обновляется. Например, в последнем обновлении описываются новые интересные функции OCI (интерфейс вызовов Oracle). Я нашел его случайно и с тех пор ни разу не пожалел. Начните с этого хорошего руководства.
Есть несколько шагов, которые вам нужно выполнить, чтобы это сработало.
Во-первых, вам необходимо установить драйвер oracle для любой вашей операционной системы. Затем создайте DSN для odbc, который будет использоваться для подключения вызова функции php к базе данных oracle. В Windows вы можете найти это на панели управления - >Источники ODBC
Как только вы это сделаете, перезапустите БД, веб-сервер, а затем вы сможете протестировать все это с помощью этого:
odbc_connect($dsn,$user,$pass);
Если у вас есть linux, то необходимы те же шаги, но я не уверен, как вы создаете DSN в unix.
Я видел это в разделе "Примечания" документации PHP:
Если вы используете PHP с Oracle Instant Client, вы можете использовать метод именования easy connect (...)
Поэтому я думаю, что довольно ясно, что вы можете подключиться к базе данных Oracle без клиента Oracle Instant, используя только расширение PHP Oracle.
Если вы пытаетесь подключиться к oracle на ubuntu с помощью PHP, следующие ссылки были более чем полезны:
А) http://pecl.php.net/bugs/bug.php?id=9253
Это настоящая рабочая лошадка - она дает вам практически все необходимые данные.
Б) http://fabrizioballiano.net/2008/01/26/how-to-install-php-pdo_oci-on-ubuntu-gutsy/
Это также полезно для получения подробной информации о том, что необходимо установить для работы oracle убунту.
Если вы используете его с PHP, вам нужно убедиться, что переменные среды TNS_ADMIN и ORACLE_HOME доступны для пользователя apache - в каталоге apache2 есть файл с именем "envvars", где вы можете их установить. (Для удобства использования у меня есть две точки в одном каталоге.)