in GNU/Linux, php, Ubuntu, Uncategorized

Memasang Extensi oracle oci8 di PHP7 dengan apache dan oracle instant client di Ubuntu 16.04

Pada artikel ini saya akan berbagi cara untuk memasang ekstensi oracle oci8 di PHP7 dengan sistem operasi ubuntu 16.04, extensi oci8 ini digunakan untuk koneksi PHP dengan database oracle.

Langkah 1 – Mengunduh oracle instant client

Sebelum kita memasang ekstensi oci8 kita harus memasang aplikasi oracle instant client, aplikasi ini bisa diunduh di website resmi oracle, disini (kita harus memiliki akun oracle untuk mengunduh). karena saya menggunakan ubuntu, saya unduh aplikasi oracle instant client untuk linux, yaitu : oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm dan oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm, seperti pada gambar berikut (kotak warna merah) :

oracle-instant-client-linux

 

oracle instant client linux

Langkah 2 – Memasang oracle instant client di Ubuntu 16.04

Perlu diperhatikan oracle instant client yang kita unduh memiliki format .rpm, sedangkan di ubuntu untuk format paket manajer yang digunakan adalah .deb, oleh karena itu, sebelumnya kita harus memasang aplikasi “alien” (nama aplikasinya alien) untuk bisa memasang format .rpm di sistem operasi ubuntu kita, untuk memasang aplikasi alien, jalankan perintah ini di terminal :

sudo apt install alien build-essential

jika sudah, masuk ke direktori dimana berada file oracle instant client yang kita unduh sebelumnya, kemudian jalankan perintah berikut :

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

jika sudah kita bisa lanjut ke langkah berikutnya.

Langkah 3 – Memasang Ekstensi oci8 di php 7

untuk memasang ekstensi baru, sebelumnya kita harus memiliki paket program php7-dev, libaio1,php-pear. jalankan perintah berikut untuk memasangnya :

sudo apt install php7-dev php-pear libaio1

kemudian memasang ekstensi oci8 dengan PECL PHP, jalankan perintah berikut di terminal :

sudo pecl install oci8

ketika proses pemasangan oci8 kita akan ditanya untuk path oracle instant client yang sudah di pasang, pada proses ini saya masukkan :

shared,instantclient,/usr/lib/oracle/12.2/client64/lib

kemudian proses dilanjutkan, jika berhasil kemungkinan oci8 akan di install di alamat ini :

/usr/lib/php/20151012/oci8.so

silahkan perhatikan saja proses instalasinya, bisa saja berbeda

Langkah 4 – Ubah file php.ini

selanjutnya kita akan merubah 2 file berikut :

/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cli/php.ini

kemudian tambahkan pada masing masing file tersebut :

extension=/usr/lib/php/20151012/oci8.so

Langkah 5 – Menambahkan PATH oracle di /etc/apache2/envvars

buka file /etc/apache2/envvars kemudian tambahkan baris berikut :

export PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/administrador/oracle/oci8–2.1.4/modules:/usr/lib/oracle/12.2/client64:/usr/lib/oracle/12.2/client64/lib”
export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/12.2/client64

kemudian simpan, dan restart apache kita.

Langkah 6 – Membuat file PHP

Pada langkah terakhir ini, kita membuat script php untuk koneksi ke database oracle, buat file connect.php , dan copy paste kan baris berikut :

<?php
 $dbstr =”(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ORACLEIP)(PORT=1521))(CONNECT_DATA=(SID=ORACLESID)))”;
 if($conn = oci_connect(‘YOURUSERNAME’,’YOURPASSWORD’, $dbstr)):
 print “Konek!!”;
 else:
 print “Tidak Konek”;
 endif;
?>

silahkan di ubah yang huruf kapital, dengan konfigurasi database oracle anda.

rujukan :

https://medium.com/@kabeza/setup-oracle-instant-client-with-apache-and-php-7-on-ubuntu-server-17-04-66cea2297d6f