Назад | Перейти на главную страницу

SUSE 12.1 Запуск Apache после установки oci8

У меня есть виртуальный сервер под управлением opensuse 11.4 с apache, php, oracle Instantclient и oci, установленным через pecl.

Чтобы запустить его на 11.4, мне потребовались следующие шаги:

# Install instantclient
rpm -Uvh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -Uvh oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm

# Install OCI8 through pecl
pecl install oci8

# add oci8 to modules
vi /etc/php5/conf.d/oci8.ini
extension=oci8.so

# add LD_LIBRARY_PATH to apache
vi /etc/sysconfig/apache2
# add to bottom of script
export LD_LIBRARY_PATH="/usr/lib/oracle/11.2/client64/lib"

# restart Apache
/etc/init.d/apache2 restart

Выполнение той же процедуры при новой установке OpenSUSE 12.1 приводит к тому, что apache при запуске выдает следующее сообщение:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php5/extensions/oci8.so' - libnnz11.so: cannot open shared object file: No such file or directory in Unknown on line 0

Я не могу понять, почему он работает для 11.4, а в 12.1 перестает работать.

Может кто-нибудь указать мне правильное направление ..

У меня была такая же проблема в openSUSE 12.1, но я установил oci8 из источник. Я сменил поставщика php5 с openSUSE на obs (открытый сервис сборки):

openSUSE  -->  obs://build.opensuse.org/server:php

Смена поставщика также произошла с обновлением php с 5.3.8 до 5.3.17, что является приятной особенностью. Затем сделал символическую ссылку для libnnz11 (похоже, переменная окружения не работала для меня):

ln -s /usr/lib/oracle/11.2/client/lib/libnnz11.so /usr/lib/libnnz11.so

и теперь расширение распознается и работает нормально. Eсть ошибка сообщил об этой проблеме, если хотите попробовать патч, включенный в файл config.m4, созданный phpize но это не сработало для меня.