Збірка PHP спільно з OCI8
Перед складанням OCI8 вивчіть попередній розділ "Вимоги".
Для роботи розширення OCI8, вкажіть при налаштуванні PHP опцію --with-oci8.
Перед стартом веб-сервера, OCI8 зазвичай потрібно кілька змінних оточення Oracle (див. Нижче) для виявлення бібліотек, конфігураційних файлів і установки деяких базових властивостей, таких як кодування, яка використовується бібліотеками Oracle. Ці змінні повинні бути встановлені перед запуском будь-якого PHP-процесу.
Бінарний файл PHP повинен використовувати ту ж, або більш свіжу основну версію бібліотек Oracle, ніж ту, з якою він був зібраний. Наприклад, якщо ви зібрали OCI8 з бібліотеками Oracle 11.2, то PHP також повинен працювати з бібліотеками Oracle 11.2. Додатки PHP можуть підключатися до інших версіях Oracle Database, так як Oracle має клієнт-серверну сумісність різних версій.
Установка OCI8 у вигляді довантажувати (shared) розширення
Вказівка опції конфігурації shared дозволяє зібрати OCI8 у вигляді динамічно довантажувати бібліотеки. Збірка у вигляді довантажувати розширення дозволяє легко оновлювати OCI8 без пересборки всього PHP.
Зберіть OCI8 за допомогою однієї з наступних опцій.
Якщо Instant Client встановлено з ZIP-архіву, не забудьте в першу чергу створити символічне посилання на бібліотеку, наприклад, так: ln -s libclntsh.so.11.1 libclntsh.so.
Якщо Oracle Instant Client був встановлений за допомогою RPM, команда конфігурації буде виглядати так:
Врахуйте, що підтримка Oracle Instant Client з'явилася тільки починаючи з версій PHP 4.3.11 і 5.0.4 і раніше використовувалася з опцією --with-oci8-instant-client.
При використанні бази даних Oracle database або повної установки Oracle Client:
Переконайтеся, що користувач, під яким запущений веб-сервер, (nobody. Www) має доступ до бібліотек, файлів ініціалізації і tnsnames.ora (якщо використовується) в папці $ ORACLE_HOME. При використанні Oracle 10g R2, може знадобитися запуск утиліти $ ORACLE_HOME / install / changePerm.sh для отримання доступу до цієї папки.
Після можете виконувати звичайною процедурою складання PHP, наприклад, make install. після чого буде створено довантажувати бібліотека oci8.so. Можливо, вам буде потрібно вручну перенести її в папку розширень PHP, зазначену опцією extension_dir вашого php.ini.
Для завершення установки OCI8 додайте наступний рядок в php.ini.
Переконайтеся, що директива php.ini extension_dir встановлена на ту саму папку, в яку була встановлена бібліотека oci8.so.
Установка OCI8 в Windows
При використанні Instant Client, встановіть системну змінну оточення PATH на папку з бібліотекою Oracle.
Установка оточення Oracle
Перед використанням даного розширення, переконайтеся, що змінні оточення Oracle правильно налаштовані для користувача, під яким працює веб-сервер. Якщо ваш веб-сервер автоматично стартує при завантаженні, то переконаєтеся, що оточення при завантаженні також налаштоване коректно.
Не встановлюйте змінні оточення Oracle через putenv () в PHP-скрипт, тому що бібліотеки Oracle можуть бути завантажені і проініціалізовані до запуску вашого скрипта. Змінні, встановлені через putenv () можуть потім викликати конфлікти, падіння та інше непередбачувана поведінка. Деякі функції можуть працювати, в той час як інші давати дрібні помилки. Необхідно встановлювати ці змінні до запуску веб-сервера.
У Red Hat Linux і його варіантах, експортуйте змінні в кінці файлу / etc / sysconfig / httpd. Інші системи з Apache 2 можуть використовувати скрипт envvars з папки bin в дистрибутиві Apache. Третім варіантом є директива Apache SetEnv в файлі httpd.conf. на якихось системах вона може працювати, однак, відомо, що на деяких її недостатньо.
Щоб упевнитися в правильного налаштування змінних оточення, використовуйте функцію phpinfo () і перевірте, що розділ Environment (НЕ Apache Environment) містить очікувані змінні.
Наступна таблиця містить змінні, які можуть вам знадобитися. За подробицями про всі доступні змінних звертайтеся до документації Oracle.
Загальні змінні оточення Oracle