/var/log/step2k

October 5, 2006

ORACLE 10g XE + PHP

Filed under: Project, PHP, Oracle - Salman Teguh @ 8:22 am

Sejak 2 bulan (lebih) terakhir gw diminta untuk develop aplikasi yang berbasis PHP dan oracle. jujur, gw kena ‘panic mode’. soalnya yang biasa pake mysql atau mssql server sekarang diminta pake oracle. sebenernya sih alasan gw gak pernah nyoba oracle tuh gara-gara resource hardware yang gw punya gak cukup (heheheheheh).

Kebetulan ada source oracle 10g xe di salah satu hdd. sourcenya dapet ngopi dari hdd-nya pa onno. langsung deh liat requirement hdd-nya. ternyata untuk yang 10g XE cuman butuh memory 256MB. wah cocok nih sama spek ram gw punya. eh, ternyata setelah di install komputer gw jadi lelet bgt (hahahahah).

Hal pertama yang gw rasain rada beda dengan di mysql adalah cara koneksi php ke oracle. kalo di mysql langsung mysql_connect(hostname,username,password), nah kalo di oracle ini rada beda, apalagi kalo server DB-nya terpisah. kita harus pake library tambahan ‘oracle instant client’.

Dibawah ini howto yang gw dapet dari pengalaman baru gw ngoprek oracle + php :

requirement sw:

1. oracle 10g XE
2. apache+php (gw pake XAMPP)
3. oracle instant client (kalo mau connect ke server oracle remote).

Install oracle 10g XE

- setelah selesai install, maka login ke user interface yang disediakan dengan menggunakan internet browser. ketik http://localhost:8080/htmldb pada address bar web browser.
- kemudian login dengan menggunakan username ’system’ dan password ’system’ (tanpa kutip).
##### selanjutnya kita akan memanfaatkan database HR yang udah ada di database XE buat dipake percobaan koneksi sama php.
- masuk ke menu ‘administration’ - ‘database users’
- pilih HR (yang masih ada gambar kunci-nya).
- kemudian masukkan password + confirm password (harus sama dong….)
- klik list pada ‘account status’, rubah dari locked menjadi unlocked.
- trus klik ‘alter user’

konfigurasi php
- download oracle instant client dari web-nya oracle (ketik aja di google, oracle instant client download).
- extract file oracle instant client (misal : c:\instant_client_10_2)
- masuk ke start-setting-controlpanel-system
- pilih tab advanced - environment variables
- edit path, trus tambahkan ‘;c:\instant_client_10_2′
- klik new-> variable name : local
-> variable value : XE
klik ok
- klik new-> variable name : NLS_LANG
-> variable value: AMERICAN
klik ok

- buka file ‘php.ini’ (posisinya ada di folder XAMPP/apache/bin)
- uncomment ‘php_oci8.dll’
- save
- restart apache

- untuk men-cek apakah php sudah support oracle, buat file info.php yang isinya
< ? phpinfo() ?>.
kalo udah ada OCI8…. berarti sudah bisa digunakan untuk koneksi ke database oracle.

Testing koneksi php -> oracle
- buat file test.php yang isi-nya sebagai berikut :

$conn = oci_connect(’hr’,'hr’,'//ip_db_server:1521/XE’);
$sql = “SELECT * FROM employees”;
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
echo “< p r e >“;
while ( $row = oci_fetch_assoc($stmt) ) {
print_r($row);
}

######################
keterangan :
ip_db_server = ip address db server oracle
1521 = port yang digunakan
XE = nama database pada oracle 10 XE
######################

tulisan diatas merupakan hasil kompilasi dari literatur yang ada dan pengalaman ngoprek,
mudah-mudahan berguna.

btw selamat menunaikan ibadah puasa untuk umat islam semua…..
# 24092006 12:21:00 AM -> 3,5 menuju sahur pertama

4 Comments »

The URI to TrackBack this entry is: http://step2k.blogsome.com/2006/10/05/oracle-10g-xe-php/trackback/

  1. Mau tanya dong. Saya pakai xampp for Windows nih. Gimana ya kalau oci8 belum terdeteksi? Saya sudah hilangkan tanda ; di depan tulisan extension=php_oci8.dll di file php.ini di xampp/apache/bin/ (sudah restart juga), tapi nggak berhasil juga. Kenapa ya?

    Comment by Lucky — September 10, 2007 @ 12:21 pm

  2. mas bisa minta software oracle nya,………tolong sy dikasih link yang cepat utk download oracle nya

    Comment by stanleylindowris — February 3, 2009 @ 7:13 am

  3. matur nuwun…
    makasih banyak…
    sudah jalan gan php oracle 10g nya…

    Comment by ade vicidin sp — April 22, 2009 @ 1:18 pm

  4. mas, kalo untuk mempercepat akses koneksi php dengan oracle gimana yah?

    Comment by kazper — May 20, 2009 @ 7:59 am

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


Get free blog up and running in minutes with Blogsome
Theme designed by Alex King