Oracle instantclient php_oci на Linux Ubuntu 16.04

Задача поставить PHP_OCI на сервер с Linux Ubuntu 16.04

Posted by 12.04.2018

Oracle instantclient php_oci на Linux Ubuntu 16.04

Задача поставить PHP_OCI на сервер с Linux Ubuntu 16.04

Сначала устанавливаем alien

apt-get install alien

потом скачиваем с сайта Oracle клиента:

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

нам нужны следующие файлы (в моем случае нужна версия 10.2.0):

oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm

oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm

oracle-instantclient-sqlplus-10.2.0.5-1.x86_64.rpm

устанавливаем их через alien

sudo alien -i oracle-instantclient-xxx-10.2.0.5-1.x86_64.rpm

Если все хорошо, устанавливаем глобальные переменные:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/oracle/10.2.0.5/client64/bin" ORACLE_HOME="/usr/lib/oracle/10.2.0.5/client64" OCI_LIB="/usr/lib/oracle/10.2.0.5/client64/lib" TNS_ADMIN="/usr/lib/oracle/10.2.0.5/client64/network/admin"

кешируем файлы библиотек:

echo "/usr/lib/oracle/11.2/client64/lib" | sudo tee /etc/ld.so.conf.d/oracle.conf sudo ldconfig -v

Дальше устанавливаем все что нужно для PHP

apt-get install php-dev php-pear build-essential libaio1

и ставим саму PHP_OCI8 

pecl install oci8

на этом шаге нам предложат ввести путь до библиотек, на запрос вводим:

instantclient,/use/lib/oracle/10.2.0.5/client64/lib

в php.ini прописываем эту библиотеку:

echo "extension = oci8.so" >> /etc/php/7.1/fpm/php.ini

echo "extension = oci8.so" >> /etc/php/7.1/cli/php.ini

Проверяем, установилась ли?

php -m | grep 'oci8'

Рестартуем службу FPM

service php7.0-fpm restart

 

В принципе все должно на этом этапе заработать.

проверяем следующим образом:

sqlplus user/password@ip_address:port/service 

 

 


Яндекс.Метрика