Senin, Februari 05, 2007

Kompilasi ulang PHP5 untuk mendukung OCI8

Langkah-langkah kompilasi PHP5 di Debian 3.1:


  1. Install paket-paket yang dibutukan dengan perintah berikut ini:
    # apt-get install php5-dev
    # apt-get install librecode-dev apache-dev apache2-prefork-dev chrpath debhelper freetds-dev po-debconf libbz2-dev libc-client-dev libcurl3-dev libdb4.4-dev libexpat1-dev libfreetype6-dev libgcrypt11-dev libgd2-xpm-dev libjpeg62-dev libkrb5-dev libldap2-dev libmcal0-dev libmhash-dev libmysqlclient15-dev libncurses5-dev libpam0g-dev libpcre3-dev libpng12-dev libsablot0-dev libsnmp9-dev libt1-dev libtool libwrap0-dev libxmltok1-dev libxml2-dev libxslt1-dev libzzip-dev re2c unixodbc-dev firebird2-dev libmcrypt-dev libpspell-dev libsqlite0-dev libtidy-dev

    Catatan: beberapa paket dev diatas mungkin telah obselete, atau merupakan paket virtual. Perhatikan pesan kesalahan yang ditampilkan oleh apt, untuk mengatasi conflict atau paket yang kurang. Saya menggunakan distribusi testing untuk melakukan kompilasi php5 ini.

  2. Install Oracle client, jika pada sistem belum ada Oracle, maupun Oracle client. Untuk memudahkan, oracle telah menyediakan repository debian untuk menginstall paket oracle-xe. Cukup tambahkan baris ini:
    deb http://oss.oracle.com/debian/ unstable main non-free

    di file /etc/apt-source.list lalu jalankan perintah
    # apt-get update
    Lalu install oracle-xe-client dengan perintah:
    # apt-get install libaio oracle-xe-client
    Setelah terinstall oracle-xe, jalankan perintah ini:
    # . /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh (PS: jangan lupa titik di awal).
    Jika Anda menginstall oracle client lain, atau oracle server, set ORACLE_HOME dan LD_LIBRARY_PATH sesuai dengan dokumentasi oracle itu.
    Set juga variabel berikut ini:
    # export LD_PRELOAD=libclntsh.so
    Lalu edit file /etc/ld.so.conf, tambahkan baris berikut ini:
    /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib
    Selanjutnya jalankan perintah # ldconfig agar library oracle client diload ke sistem.

  3. Download source code php5 dengan perintah
    # apt-get source php5
    Source code akan didownload ke current direktory saat command dieksekusi.

  4. Pindahlah ke direktory hasil ekstract source php5, lalu edit file debian/rules

  5. Tambahkan opsi --with-oci8 pada bagian akhir dari COMMON_CONFIG = […].

  6. Tambah change log dengan perintah:
    $ debchange -i
    Isi dengan keterangan yang informatif, misal: kompilasi ulang PHP5 dengan menambahkan --with-oci8.

  7. Jalankan
    $ dpkg-buildpackage
    untuk mengkompile php5

  8. Proses kompilasi akan berjalan, tunggu hingga proses ini selesai. Jika masih ada paket dev yang kurang, maka proses kompilasi akan terhenti dan tampil nama paket dev yang dibutuhkan, tapi belun diinstall. Install paket ini, lalu ulangi lagi perintah $ dpkg-buildpackage.

  9. Proses kompilasi yang sukses akan menghasilkan file .deb di direktori diatas direktori tempat php5 source berada. Install file deb yang diperlukan dengan perintah seperti biasa:
    # dpkg -i namafile.deb
    Reload apache setelah selesai melakukan instalasi.
Sekarang pada sistem debian Anda telah terinstall PHP5 dengan dukungan OCI8. Cek melalui perintah <?php phpinfo(); ?> pada sebuah halaman php. Temukan bagian OCI8.

2 komentar:

kodok mengatakan...

thank's bos...
tak cobain dulu, moga2 gak ada error...
btw, aku kok make instant-client di slackware wat konek ke oracle7 ndak bisa yah..
pa memang instant-client gak bisa konek ke oracle7..???

Anonim mengatakan...

There is a free manual on Oracle and the OCI8 extension at http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf