Чтобы соединиться из 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. Что-то вроде этого:
Для начала необходимо скачать 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 |