<< Настройка APR для Tomcat 5.5.25 | На главную | Настройка HTTPS в Apache >>

Установка oracle client + php 5 + apache 2


Чтобы соединиться из Php с базой данных Oracle вам необходим Oracle's Instant Client и модуль oci8 для апача из pear.

Для начала необходимо скачать OIC пакеты Basic и SDK по адресу:

http://www.oracle.com/technology/tech/oci/instantc lient/instantclient.html
Имена файлов что-то вроде instantclient-basic-linux32....zip and instantclient-sdk-linux32....zip.

Далее необходимо развернуть эти файлы в новую директорию например /opt/oracle/instantclient.

mkdir -p /opt/oracle/instantclient
cd /opt/oracle/instantclient
unzip instantclient-basic-linux32-10.2.0.1-20050713.zip
unzip instantclient-sdk-linux32-10.2.0.1-20050713.zip
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig

Последние две строчки по идее должны создать симлинк на libclntsh.so и libocci.so, но можно их создать вручную:

ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so


Далее необходимо скачать и установить pear. Для fedora:
yum install php-pear

(debian: apt-get install php-pear)

Опять же, "по идее", мы должны установить модуль oci8 с помощью pear и не мучаться, но, как всегда, приходится всё делать вручную.

В интернете дают следующий метод:
mkdir -p /usr/local/src
cd /usr/local/src
pear download oci8
tar xzf oci8-1.1.1.tgz
cd oci8-1.1.1
phpize
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclien t
make
make install

В моём случае вместо pear пришлось использовать команду pecl.


Чтобы включить модуль oci8 в /etc/php.ini (/etc/php5/apache2/php.ini или /etc/php5/cli/php.ini), добавляем строчку extension=oci8.so (после строки ;extension).

Обычно возникает проблема с поиском библиотеки и кодировкой, поэтому я прописал в /etc/init.d/httpd следующие строчки:

export LANG=C
export PATH=/bin:/usr/bin:/usr/local/bin
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib
export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251

После этого перестартуем апач (service httpd restart) и теперь должны увидеть в нём вывод о модуле oci8. Что-то вроде этого:

oci8

OCI8 Support enabled
Version 1.2.4
Revision $Revision: 1.269.2.16.2.38 $
Active Persistent Connections 0
Active Connections 0
Oracle Instant Client Version 10.2
Temporary Lob support enabled
Collections support enabled

Ярлыки : , ,


Re: Установка oracle client + php 5 + apache 2

Хорошая инструкция, но не полная, необходимо еще php пересобрать с новый параметром --with-oci8=instantclient,/path/to/oracleinstanclient/lib

Комментировать Отправить TrackBack
На главную