Install OCI8 PHP ext PHP 5 ubuntu

Sebelumnya saya tidak pernah mendapatkan masalah dalam menginstall extensi untuk PHP, baik itu di lingkungan windows atau linux, tetapi beberapa waktu yang lalu saya mendapatkan masalah yang tidak biasa, well, mungkin teman-teman yang lain sudah pernah mengalaminya, berhubung saya baru menemukan masalah itu jadinya agak sedikit membingungkan,

padahal saya sudah mengikuti cara yang biasa, dengan perintah sudo pecl install oci8  , telisik punya telisik, hal ini diakibatkan karena saya masih menggunakan versi php 5.6.x , dan kebetulan extensi oci8 terdaftar dalam package pecl sudah versi yang terbaru yang di-build untuk php 7, al-hasil akan terjadi error jika kita tidak menggunakan php 7.

karena berbagai alasan, (memang sebaiknya selalu uptodate sih) saya masih tetap bertahan dengan php 5.6.x, dan terpaksa harus sedikit memutar otak untuk bisa menginstall extensi oracle untuk kebutuhan pekerjaan.buat teman-teman yang memiliki masalah yang sama dengan saya mudah-mudahan sedikit banyak mudah-mudahan bisa membantu.

dalam tulisan ini saya menggunakan

  • php 5.6.x
  • ubuntu server 14.04 LTS 32 bit (out of date)
  • oracle instanclient 11.1

Download Oracle Instanclient (sesuaikan) dan instalasi

pertama, download dulu oracle instanclient yang sesuai dengan kebutuhan, dalam tulisan ini saya menggunakan versi 11.2.0.4.0  untuk lebih detail teman-teman bisa melihat ke situs Instanclient nya oracale untuk melihat versi mana yang sesuai dengan kebutuhan teman-teman, yang perlu diingat adalah yang didownload ada dua buah file

  • Instant Client Package – Basic
  • Instant Client Package – SDK

saya pilih yang basik dan berbentuk zip  bukan dalam bentuk rpm  dan versi basic  bukan yang liat  yang lite  saya coba ada beberapa error yang susah untuk dipahami :D, setelah download selesai, sekarang kita install instanclientnya-oracle kedalam folder opt , tidak harus folder opt, teman-teman bisa memilih folder lain jika mau, saya sendiri memilih opt karena dalam folder opt biasaya tidak terlalu banyak file dan folder dan mudah folder opt sendiri dalam sistem linux bersifat optional, untuk itu kita mulai dengan membuat sebuah folder dalam folder opt dengan perintah

kemudian kita kopikan hasil download kedalam folder /opt/oracle/  , teman-teman bisa menyesuakan sumber dan tujuan folder downloadnya

perintah diatas melakukan move (cut) semua file dengan extensi zip  kedalam folder /opt/oracle/  , tahap selanjutnya kita pastikan kita sudah berada di folder /opt/oracle/  dengan perintah pwd setelah yakin, sekarang kita extract hasil download sebelumnya dengan perintah

jika perintah unzip  belum terinstall teman-teman bisa menggunakan perintah yang lain atau mendownloadnya dengan perintah apt-get install unzip  , setelah di extract akan ada sebuah folder dengan nama instantclient_11_x, untuk memudahkan kita rename saja instantclient_11_x  menjadi instantclient agar lebih mudah di-ingat dengan perintah mv instantclient_11_1 instantclient  jika sudah tahapan selanjutnya adalah membuat soft linker kebeberapa file untuk kebutuhan compile nantinya, sekarang kita masuk kedalam folder instantclient  dengan perintah

kemudaian setelah berada dalam folder instantclient  ada beberapa file utama, jika kita melakukan perintah list directory akan ada beberapa file utama, seperti

perhatikan 2 file utama, libclntsh.so.11.1  dan libocci.so.11.1  kedua file ini yang akan kita linkkan agar pada saat melakukan compile librarynya bisa terbaca, untuk melakukan soft link bisa kita lakukan dengan perintah

untuk memastikan tidak ada masalah, sekarang kita jalankan perintah list directory sekali lagi ls -la  jika hasilnya seperti berikut berarti semua berjalan dengan lancar

jika kita bandingkan hasil sebelumnya denga hasil yang barusan, tentu sudah terlihat jelas hasilnya kan, terdapat 2 buah file baru dengan soft linker ke file yang sebenarnya, jika tahapan ini sudah selesai, tahapan selanjutnya adalah kita menambahkan environtment variable  untuk folder oracle instanclient ini, agar pemanggilanya tidak harus melulu melalui folder /opt/oracle/instanclient untuk itu kita jalankan perintah

sampai disini untuk instalasi instanclient kita sudah beres, dan tahapan selanjutnya adalah menginstall extensi oci8 nya php

install oci8

pada tahapan ini kita harus banyak bersabar, karena saya yakin tidak semua berjalan mulus, tapi harus tetap optimis.

dalam PHP untuk bisa menginstall extensi yang baru, semua package development harus tersintall, demikain juga dengan versi php, jika kita menggunakan php 5 maka kita harus mendowloadn package development untuk php 5 tersebut, berikut perintah untuk mendownload semua package yang dibutuhkan dalam installasi extensi oci8 ini

kemudian jika download sudah selesai, sekarang kita akan mencoba untuk menginstall extensi oracle, pertama dalam folder /opt/oracle/  kita buat sebuah folder dengan nama src atau namanya terserah teman teman, yang penting mudah di-ingat.

kemudian dalam folder src  kita akan mendownload package pecl  untuk oci8 untuk versi yang digunakan silahkan teman-teman trial dan error sendiri, karena dalam beberapa kasus saya mencoba banyak yang tidak bisa dan banyak yang bisa, hal yang paling utama dalam pemilihan versi extensi yang akan kita install adalah persamaan versi build antara php dan extensi yang akan kita install, misalnya dalam kasus yang saya alami php saya memiliki

nah versi extensi yang akan kita gunakan juga sebaiknya memiliki hal yang sama, misalnya dalam kasus saya ini saya memililih versi oci8 versi 2.0.7  untuk mencobanya kita bisa menggunakan perintah

setelah download berhasil, bentuk hasil downloatan dalam format tgz kita bisa mengestractnya dengan perintah

akan tercipta satu folder dengan nama oci8-2.0.7  masuk kedalam folder tersebut dengan perintah cd [crayon-5c3fa2c79bfaf356674900   lang="php" decode="true"  inline="1"  ]oci8-2.0.7 [/crayon] dan jalankan perintah

hasilnya akan seperti berikut

sesuaikan dengan versi PHP yang kita miliki, pengalaman saya jika versi buildnya sama atau mendekati maka hasil compile bisa dipastikan akan berhasil jika dari awal sampai akhir tahapan yang kita lalukan sudah benar, tahapan selanjutnya kita lakukan configure  sebelum instalasi dengan perintah

tunggu beberapa saat, perhatikan pesan yang kaluar apakah ada error atau tidak, jika ada error coba telusuri apa penyebabnya, jika tidak ada error kita lanjut ke perintah selanjutnya yaitu

dan dilanjutkan dengan perintah

seharusnya dalam tahapan ini extensi php sudah berhasil di install, untuk itu kita membutuhkan beberapa langkah lagi sebelum langkah terakhir, misalnya seperti mengaktifkan extensi yang baru saja kita buat dengan perintah

kemudian isi dengan

dan langkah terkahir adalah

jika sudah coba periksa dengan phpinfo()  apakah extensi oci  sudah ada, jika sudah berarti proses instalasi sudah berhasil.

demikain sedikit pengalaman saya, mungkin semua prosesnya tidak akan sama bagi teman-teman, tapi saya yakin dengan sedikit explorasi dan kesabaran pasti bisa, jika ada pertanyaan teman-teman tau kan harus bagaiama ?

 

Published by

Khairu Aqsara

Khairu Aqsara a Web Developer almost every day and enjoys writing about his experiences . If you need help with your next project you know where to look.