Задать вопрос
@evkaky

Как установить php-extesnsion oci8?

Не получается установить расширения oci8 pecl.php.net/package/oci8
У меня Elementary os 64bit (фактически, это ubuntu 12.04)
Php 5.5.9
Apache 2.4.7
На хабре есть статья по этой теме, но мне она не помогла.
Что я делал:
1)Установил оракловские библиотеки:
oracle-instantclient12.1-basic и oracle-instantclient12.1-devel
2) Теперь устанавливаем само php-расширение. К сожалению, репозиториев с oci8 я не нашел, пришлось устанавливать через pecl:
sudo pecl install oci8
Но это не сработало (позже я узнал, что это из-за того, что pecl не в состоянии подхвать системные настройки прокси и ему нужно вручную прописывать их:
sudo pear config-set http_proxy http://username:password@yourproxy:yourport)
Поэтому, устнавливал так: с pecl.php.net/package/oci8 скачал архив и подсунул его команде pear install
3) Теперь у меня в /usr/lib/php5/20121212/ появился oci8.so
По идее, осталось только создать ini-файлы для подключения:
В /etc/php5/mods-available/ создаю oci8.ini с такой строкой:
extension=oci8.so (пробовал и полный путь: extension=/usr/lib/php5/20121212/oci8.so)
Создаю ссылку на этот файл в /etc/php5/apache2/conf.d/
Перегружаю апач
Набираю php -m и...oci8 среди подхваченных расширений пхп нету.

Что я делаю не так?
  • Вопрос задан
  • 3578 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
azrail_dev
@azrail_dev
Ставил по такой статье. habrahabr.ru/post/116474
Только с сайта oracle качал .rpm и перегонял в .deb, все работает. Откуда у тебя php 5.5.9? У меня в репах 5.3, может в этом проблема?
Ответ написан
Комментировать
@evkaky Автор вопроса
"с сайта oracle качал .rpm и перегонял в .deb"
Тоже так делал.

"Откуда у тебя php 5.5.9?"
Вот тут парень создал репозиторий и раздает последние версии всякого полезного:
https://launchpad.net/~ondrej/+archive/php5
Ответ написан
Комментировать
@evkaky Автор вопроса
Я, кстати, именно про этот пост на хабре и писал:
habrahabr.ru/post/116474
Это не рабочее руководство. Точнее, оно местами уже не актуально.
Там автор предлагает создавать ini-файл так:
/etc/php5/conf.d/oci8.ini
Но у меня в /etc/php5/ нету папки conf.d Есть папка mods-available, где лежат все ini-файлы расширений. И тут же рядом есть папка apache2/conf.d/ в которой находятся ссылки на файлы ы /etc/php5/mods-available/
Я все это проделываю для своего oci8 (создаю и сам ini-файл в /etc/php5/mods-available/ и ссылку на него в /etc/php5/apache2/conf.d/) но видимо нужно что-то еще сделать, т.к. после этих действий php не подхватывает oci8 (apache перегружал)
Вот я и не могу найти, что еще нужно сделать, что бы пхп увидел расширение.
Ответ написан
Комментировать
@victimofbrainlessness
вырезка из официального мануала от оракл


Add the Instant Client directory to /etc/ld.so.conf, or manually set LD_LIBRARY_PATH to /usr/lib/oracle/11.2/client64/lib. You might also want to set Oracle globalization language environment variables such as TNS_ADMIN and NLS_LANG. If NLS_LANG is not set, a default local environment will be assumed. See the Globalization chapter in The Underground PHP and Oracle Manual for more details.

It is important to set all Oracle environment variables before starting Apache so that the OCI8 process environment is correctly initialized. Setting environment variables in PHP scripts can lead to obvious or non-obvious problems. On Oracle Linux, export environment variables in /etc/sysconfig/httpd. On Debian-based machines set them in /etc/apache2/envvars.

Restart Apache, for example:

service httpd restart
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы