В RHEL 6 я установил PHP 7.2 через репозиторий remi:
# yum --enablerepo=remi-php72 install php
Проверено, какие модули предварительно установлены с php -m
.Это не перечислено.Итак, приступаю к его установке:
# yum --enablerepo=remi-php72 php72-php-oci8
Installed:
php72-php-oci8.x86_64 0:7.2.17-1.el6.remi
Complete!
Проверьте модули еще раз и oci8 еще не загружен.Чтобы проверить, не работает ли он со всеми модулями, которые я пробовал с mbstring
(по умолчанию не установлен):
# yum --enablerepo=remi-php72 install php-mbstring
Installed:
php-mbstring.x86_64 0:7.2.17-1.el6.remi
Complete!
Если я сделаю php -m
mbstring, успешно перечисленные там.Я что-то упустил с oci8
?Заранее спасибо.
Обновление
Я добавил расширение в файл php.ini с помощью extension=oci8
.Затем я сделал php -m
:
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку 'oci8' (пробовал: / usr / lib64 / php / modules / oci8 (/ usr / lib64 / php/ modules / oci8: невозможно открыть файл общего объекта: нет такого файла или каталога), /usr/lib64/php/modules/oci8.so (libclntsh.so.18.1: не удается открыть файл общего объекта: такого файла или каталога нет))в Unknown в строке 0
Похоже, php не может найти библиотеку libclntsh.so.18.1
из клиента Oracle.Поэтому я решил проверить домашнюю библиотеку оракула, чтобы посмотреть:
# ls -l libclntsh*
lrwxrwxrwx. 1 oracle oinstall 61 Mar 26 16:20 libclntsh.so -> /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
lrwxrwxrwx. 1 oracle oinstall 56 Mar 26 16:19 libclntsh.so.10.1 -> /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so
-rwxr-xr-x. 1 oracle oinstall 47251283 Mar 26 16:20 libclntsh.so.11.1
Я думаю, что расширение oci8 пытается загрузить эту библиотеку для версии 18c oracle, в то время как мой текущий клиент 11g.Не знаю, как это решить.