Install, Connect, PHP to Oracle on Centos 5.7

selamat apapun bagi njenengan di sana semuanya wahai pengunjung yang budiman, pada kesempatan yang berbahagia ini mari sama-sama berbagi, tentang ilmu dan tentang apapun. Tapi biarlah untuk saat ini saya berbagi tentang melakukan koneksi PHP ke ORACLE pada Centos. Itu saja.

Tutorial kali ini hanya pengejawantahan dari tutorial yang sudah ada di internet sebelumnya. Njenengan bisa lihat versi aslinya di alamat berikut ini http://www.synet.sk/php/en/190-compiling-PHP5-3-3-under-CentOS-5-with-oracle-instantclient . Thanks a bunch dude, i hope you don’t mind if i make another copy of your tutorial, with several information in Indonesian language of course #smile

Berikut ini beberapa file yang saya unggah ke docs.google.com, semoga bisa membantu njenengan semua, dan satu hal lagi, semoga tidak melanggar TOS yang dimiliki oleh docs.google.com. Silahkan berdoa, doa njenengan sangat berharga bagi saya tentunya.

Dan berikut ini beberapa file yang diperlukan, mohon sabar, dan silahkan didownload :

  1. compile-php.sh
  2. compile-oci8-instantclient.sh
  3. instantclient-basic-linux32-10.2.0.5.0.zip
  4. instantclient-sdk-linux32-10.2.0.5.0.zip
  5. oci8-1.4.3.tgz
  6. php-5.3.8.tar.gz
  7. re2c-0.13.4-1.el5.rf.i386.rpm
  8. oracle-xe-10.2.0.1-1.0.i386.rpm

Pastikan ke 8 (delapan) file di atas sudah njenengan download semua, ini penting karena pada tutorial yang berbahagia ini ke delapan 8 tersebut digunakan, sangat digunakan sekali lebih tepatnya.

Beberapa file sudah saya kompres jadi satu folder. Bisa diunduh di server indowebster di alamat ini

Setelah njenengan download, silahkan masukkan file-file tersebut ke lokasi

/usr/local/src

jika sudah, silahkan menuju lokasi file-file tersebut kemudian ganti permission nya menjadi 755 semuanya, dengan menggunakan perintah

$ cd /usr/local/src

$ chmod 755 *.*

Untuk sebelumnya silahkan jalankan proses di bawah ini melalui terminal njenengan semua

$ yum install httpd-devel mod_ssl httpd

$ service httpd start

$ chkconfig –level 345 httpd on

$ yum install flex libc-client-devel libc-client autoconf gcc-c++

$ yum install krb5-libs krb5-workstation krb5-devel krb5-server krb5-devel pam-devel

$ yum install libmhash-devel libmcrypt-devel

$ yum install libxml2-devel libxslt-devel expat-devel

$ yum install zlib-devel bzip2-devel

$ yum install curl-devel openldap-devel libtidy-devel

$ yum install t1lib-devel freetype-devel libpng-devel libjpeg-devel libXpm-devel

$ yum install postgresql-devel mysql-devel

$ yum install postgresql postgresql-server

$ yum install mysql mysql-server

$ yum install php-devel

Masih di terminal yang njenengan diami saat ini, untuk kemudian jangan lupa pastikan anda berada di lokasi /usr/local/src . Untuk kemudian lakukan proses di bawah ini.

$ ./compile-oci8-instantclient.sh

perintah di atas digunakan untuk melakukan instalasi instantclient yang sudah dibundle dalam satu file instruksi

$ ./compile-php.sh

perintah di atas digunakan untuk melakukan instalasi php dalam satu file kompilasi. Pastikan bahwa tidak ada kesalahan dalam proses instalasi tersebut.

Pada saat saya menggunakan tutorial ini, muncul peringatan bahwasanya yang terkait dengan permission pada file libnnz10.so dan juga pada file libclntsh.so.10.1. Untuk memperbaiki nya dengan menggunakan perintah :

$ chcon -t textrel_shlib_t ‘/usr/local/oracle/instantclient_10_2/libnnz10.so’

$ chcon -t textrel_shlib_t ‘/usr/local/oracle/instantclient_10_2/libclntsh.so.10.1’

Kemudian ulangi lagi proses kompilasi php dengan menggunakan perintah :

$  ./compile-php.sh

pastikan tidak ada error.

Sekadar kembali bahwa bawaan centos pada repository nya adalah php 5.1.6, hal ini bisa njenengan lihat ketika anda mengetikkan perintah :

$ php -v

maka akan menghasilkan

PHP 5.1.6 (cli) (built: Dec 21 2010 13:37:09)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies

Dan ini berarti kita perlu merubah path, sehingga centos mengenali php 5.3.8 yang baru saja njenengan compile. Untuk melakukannya cukup sederhana saja.

Pertama kali cari lokasi di mana instalasi php njenengan yang dideteksi oleh Centos dengan menggunakan perintah :

$ which php

pada centos yang saya gunakan mendeteksi

/usr/bin/php

Langkah yang harus njenengan lakukan adalah melakukan pointing untuk mengarahkan agar centos mengenali php 5.3.8 sebagai php yang kita gunakan dengan menggunakan perintah :

merubah folder php ke folder php.old

$ mv /usr/bin/php  /usr/bin/php.old

Membuat simbolik link ke php yang baru

$ ln -s /usr/local/php5/bin/php /usr/bin/php

Jika sudah, silahkan cek kembali php yang njenengan miliki dengan menggunakan perintah

$ php -v

maka insya Allah akan mengeluarkan output sebagai berikut :

PHP 5.3.4 (cli) (built: Dec 21 2010 13:37:09)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Jika tidak ada aral merintang, dan proses njenengan sudah sampai pada sebuah status yang namanya berhasil, silahkan untuk kemudian meng-enable-kan module oci yang njenengan miliki dengan melakukan editing pada /etc/php/php.ini. Kemudian tambahkan baris berikut ini :

extension : oci8.so

Setelah itu silahkan restart apache yang njenengan miliki

$ /etc/init.d/httpd restart

Pada beberapa kasus akan muncul peringatan :

Starting httpd: httpd: Syntax error on line 206 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/httpd/modules/libphp5.so into server: libclntsh.so.10.1: cannot enable executable stack as shared object requires: Permission denied

Untuk hal ini, njenengan bisa atasi dengan mendisable SELinux njenengan yang ada di /etc/selinux kemudin edit file config yang ada di sana. Kemudian anda ganti baris yang berisi SELINUX = enforcing , menjadi :

SELINUX = disabled

Jika sudah, silahkan melakukan restart pada komputer yang njenengan miliki :

$ reboot

Jika sudah selesai masuk lagi ke terminal dan ketikkan perintah berikut ini :

$ /etc/init.d/httpd restart

Jika untuk kemudian muncul peringatan bahwa module php telah diload, maka njenengan bisa mendisable module php yang di load dengan mengedit pada file /etc/httpd/conf/conf.d . Untuk kemudian njenengan cari baris yang berisi kan :

LoadModule php5_module        /usr/lib/httpd/modules/libphp5.so

kemudian tambahkan tanda pagar di depannya untuk mendisable module tersebut, sehingga menjadi :

#LoadModule php5_module        /usr/lib/httpd/modules/libphp5.so

Kemudian restart lagi apache njenengan.

Dan silahkan membuat file php di /var/www/html misalnya kita beri nama file tersebut dengan info.php kemudian masukkan baris

<?php

echo phpinfo();

?>

Jika sudah silahkan akses alamat server yang njenengan miliki http://alamatservernjenengan/info.php dan semoga info bahwa oci8 sudah diload muncul. Semoga.

Semoga bermanfaat, koreksi, tambahan, pertanyaan sangat terbuka untuk kita bahas bersama-sama.

2 pemikiran pada “Install, Connect, PHP to Oracle on Centos 5.7

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *