Скачиваем и устанавливаем Oracle Instant Client для linux с официального [[http://www.oracle.com/technetwork/topics/linuxx86-64soft-092... сайта]].Устанавливаем Instant Client:
# rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
# rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpmУказываем системе где лежат библиотеки Oracle иначе получим ошибку вида:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' -libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0создаем и записываем в конфигурационный файл путь к библиотекам Oracle
# echo /usr/lib/oracle/12.1/client64/lib >> /etc/ld.so.conf.d/Oracle12.conf
после чего настраиваем привязку динамических ссылок при помощи ldconfig
# ldconfigПроверяем, что php не выдает ошибок:
# php -v
PHP 7.1.0RC6 (cli) (built: Nov 9 2016 09:51:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend TechnologiesВ нашем случае все в порядке, можно смело обращаться из php к Oracle.
URL:
Обсуждается: http://www.opennet.dev/tips/info/2996.shtml
Если сервер в основном для оракловской базы, то лучше ставить сразу Oracle Linux, там все "искаропки".
Oracle обычно плохо относится к опенсурсе, уже завалило три проекта:Solaris, OpenOffice, Netbeans
И как твое сообщение относится к тому, что УЖЕ используется база оракла? Давай, агитируй за переход на pgsql, иначе логика отсутствует.
А самому подумать? Оракл изначально на СВОЮ базу ориентирован. mysql тебе в пример
> И как твое сообщение относится к тому, что УЖЕ используется база оракла?
> Давай, агитируй за переход на pgsql, иначе логика отсутствует.Не фиг использовать Оракл, кто его знает какие-там бывший црушник Ларри Эллисон закладки наставил...
семейство переменных
NLS_
надо бы поставить
Я вот такое еще прописывал. Возможно что-то лишнее, специально не проверялexport ORACLE_BASE=/usr/lib/oracle/12.1/client
export ORACLE_HOME=/usr/lib/oracle/12.1/client
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export NLS_LENGTH_SEMANTICS=CHAR
export NLS_NUMERIC_CHARACTERS=".,"
export TNS_ADMIN=/etc
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export SQLPATH=$ORACLE_HOME/bin/sqlplus
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$PATH:$ORACLE_HOME/bin
Плохая, негодная инструкция.Лучше прочитать https://blog.remirepo.net/post/2010/11/12/RPM-Oracle-Instant... и экстраполировать её на 12.1, скачав src.rpm пакет http://rpms.famillecollet.com/SRPMS/oracle-instantclient-x86...
Из этого же репозитория можно поставить php-oci8 для el7 без всяких приседаний.
тема установки oci8.so не раскрыта!