![]()
1. Встановлюємо Oracle Instant Client
На сторінці завантажень Instant Client обираємо необхідну платформу (наприклад Linux x86-64), після чого завантажуємо наступні пакети:
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
Слід відмітити, що доступ до файлів можливий лише зареєстрованим користувачам на сайті Oracle. Завантаживши файли на сервер, розпаковуємо їх в каталозі /var/instantclient:
cd /var
sudo mkdir instantclient
cd /var/instantclient
sudo cp /path/to/basic.zip basic.zip
sudo cp /path/to/sdk.zip sdk.zip
sudo unzip basic.zip
sudo unzip.sdk.zip
В результаті отримуємо каталог /var/instantclient/instantclient_11_2 з розпакованим вмістом обох пакетів. Створюємо в ньому 2 символьні посилання:
cd /var/instantclient/instantclient_11_2
sudo ln -s libclntsh.so.11.1 libclntsh.so
sudo ln -s libocci.soю.11.1 libocci.so
2. Встановлюємо PEAR
lynx -source http://pear.php.net/go-pear | php
3. Встановлюємо пакет oci8
sudo pear install pecl/oci8
При запиті каталогу з Instant Client вводимо instantclient,/var/instantclient/instantclient_11_2
4. Редагуємо файли конфігурації PHP
Додаємо в файли php.ini директиву extension=oci8.so
cd /etc/php5/apache2/
echo "extension=oci8.so" >> php.ini
cd /etc/php5/cli/
echo "extension=oci8.so" >> php.ini
І змінюємо в них параметр magic_quotes_sybase наступним чином:
magic_quotes_sybase = On
5. Налаштування Apache
Задаємо значення змінній LD_LIBRARY_PATH для роботи з Oracle Instant Client:
export LD_LIBRARY_PATH=/var/instantclient/instantclient_11_2:${LD_LIBRARY_PATH}
І додаємо в файл /etc/profile аналогічну директиву:
LD_LIBRARY_PATH=/var/instantclient/instantclient_11_2:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
6. Перезапуск веб-сервера і перевірка роботи oci8
Перезапускаємо Apache:
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start
Перевіряємо, чи коректно встановлений та налаштований oci8:
php /usr/share/doc/packages/php5/test.php5 | grep oci8
В разі нормального встановлення результат команди буде приблизно таким:
oci8
oci8.default_prefetch => 10 => 10
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => 0 => 0
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
Посилання по темі:
Howto build oci8 extension module for php
Install Moodle on an Oracle Database (in 25 minutes or less)