Source: http://www.syahzul.com/2016/04/06/how-to-install-oci8-on-ubuntu-14-04-and-php-5-6/ Source: https://medium.com/@kabeza/setup-oracle-instant-client-with-apache-and-php-7-on-ubuntu-server-17-04-66cea2297d6f Source: https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703#file-install_oci8_ubuntu_16-04_php7-1-md
Download the Oracle Instant Client and SDK from Oracle website. (Need to login in Oracle page)
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Files: instantclient-basic-linux.x64-12.2.0.1.0.zip and instantclient-sdk-linux.x64-12.2.0.1.0.zip.
Create a new folder to store Oracle Instant Client zip files on your server.
Upload the Instant Clients files inside this folder.
mkdir /opt/oracleNow we need to extract the files.
cd /opt/oracle
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
unzip instantclient-sdk-linux.x64-12.2.0.1.0.zipNext, we need to create a symlink to Instant Client files.
ln -s /opt/oracle/instantclient_12_2/libclntsh.so.12.1 /opt/oracle/instantclient_12_2/libclntsh.so
ln -s /opt/oracle/instantclient_12_2/libocci.so.12.1 /opt/oracle/instantclient_12_2/libocci.soAdd the folder to our ldconfig.
echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclientUpdate the Dynamic Linker Run-Time Bindings
ldconfigDone. Now we can proceed to the next part.
To install the OCI8 extension, we need to install some additional package on our server.
Run these command:
apt-get install php-dev php-pear build-essential libaio1Once installed, we need to get the OCI8 file. But, before that we need to update PECL channel.
pecl channel-update pecl.php.net
Then.
pecl install oci8When you are prompted for the Instant Client location, enter the following:
instantclient,/opt/oracle/instantclient_12_2We need to tell PHP to load the OCI8 extension.
echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/fpm/php.ini
echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/cli/php.ini
echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/apache2/php.ini
Check if the extension is enabled.
php -m | grep 'oci8'If returns oci8, its works!
Restart the PHP-FPM
service php7.2-fpm restartNow you can connect to Oracle DBMS from your PHP applications.