У меня есть виртуальный сервер под управлением 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
но это не сработало для меня.