ZEND CORE for ORACLE
Komunikasi ke database Oracle dari PHP dapat dilakukan dengan beberapa cara seperti dengan Oracle Install Client
atau dengan Zend Core for Oracle. Saat ini saya hanya akan menjelaskan pengalaman saya mengenai koneksi ke Database Oracle melalui Zend Core yang akan dijelaskan dibawah.
Zend Core for Oracle adalah Engine PHP yang dibuat untuk koneksi antara PHP dan Oracle seperti versi Oracle 8i, 9i dan 10g. Sewaktu tulisan ini dibuat versinya sudah mencapai 1.5. Zend Core for Oracle dibundle dengan Apache 2 dan PHP 5 yang didesain untuk mencapai kinerja yang maksimal, dioptimisasi untuk Oracle 10g XE, aman, cepat, dan berita gembiranya adalah aplikasi ini free / gratis !
Setelah instalasi dilakukan, karena Zend Core sebelumnya telah terpasang ternyata Apache Zend Core 2.01 bentrok dengan Zend Core for Oracle 1.5 sehingga Apache-nya tidak dapat dijalankan ! versi Apachenya pun berbeda, pada Zend Core 2.01 adalah versi 2.2.2 sedangkan Apache di Zend Core for Oracle adalah versi 2.0.59.
Setelah menguninstall Zend Core 2.01 dan menginstall Zend Core for Oracle dari awal, baru Apachenya dapat berjalan dengan normal.
Pada instalasi Zend Core for Oracle, secara standar ekstension koneksi untuk oracle (oci8-Oracle) sudah aktif tetapi ekstension MySQL dan mbstring tidak aktif, jika anda ingin menggunakan koneksi database ke MySQL juga dan biasa menggunakan PhpMyAdmin sebagai aplikasi untuk mengatur database mysql, anda harus mengaktifkannya terlebih dahulu dengan masuk ke Web UI Zend Core dengan alamat http://localhost/ZendCore/ lalu masukkan password yang telah anda masukkan sebelumnya sewaktu instalasi. Lalu masuk ke bagian CONFIGURATION > EXTENSIONS dan click pada tombol switch disebelah icon Lampu mysql – MySQL dan mbstring – Multibyte Character Processing dan simpanlah konfigurasi tersebut. Langkah berikutnya merestart ulang Apache dengan masuk ke Services di CONTROL PANEL > ADMINISTRATIVE TOOLS > SERVICES.
SETTING DI ORACLE 10g XE
Jika anda belum menginstall Oracle 10g XE, anda bisa menginstallnya dengan mengikuti langkah2nya di blog Install Cepat Oracle Database Express 10g pada Linux Fedora Core 5
Sebelum memulai, ada beberapa setting yang harus dipersiapkan didatabase XE agar testing koneksi ke Oracle ini dapat dilakukan. User yang akan digunakan adalah user yang sudah ada pada database XE, kita tinggal mengaktifkannya saja melalui Administrasi Database dengan login ke http://192.168.1.xxx:8080/apex (port dan server disesuaikan dengan setting anda) sebagai DBA lalu masuk ke bagian ADMINISTRATION > DATABASE USERS > MANAGE USERS.
Pilih user HR yang akan membawa anda kedalam mode rubah user. Isi passwordnya sesuai dengan yang anda inginkan, rubah status ACCOUNT STATUS dari Locked menjadi Unlocked dan tekan tombol ALTER USER untuk menyimpan hasil perubahannya. Setelah itu anda tinggal membuat script PHP yang akan berkomunikasi dengan Oracle.
SCRIPT PHP
Koneksi dari php ke Oracle menggunakan fungsi oci_connect dengan format :
oci_connect(“namauser”,”passworduser”, “//ip_database_oracle/XE”);
tulisan XE pada akhir tulisan menunjukan bahwa kita akan menghubungkan php dengan Oracle XE.
Contoh scriptnya dapat dilihat dibawah ini :
<?php
/*************************************/
/* Konek ke oracle dengan setting :
/* username : hr
/* password : hr
/* ip / nama server oracle : 192.168.1.122
/*************************************/
$conn = oci_connect(‘hr’, ‘hr’, “//192.168.1.122/XE”);
if (!$conn) {
// menampilkan error ketika koneksi gagal
$e = oci_error();
echo htmlentities($e[‘message’]);
die;
}
// query untuk mengambil data employees
//////////////////////////////////////////
$query = ‘SELECT * FROM employees’;
// mempersiapkan query
//////////////////////////////////////////
$sth = oci_parse($conn, $query);
if (!$sth) {
$e = oci_error($conn);
echo htmlentities($e[‘message’]);
die;
}
// menjalankan query untuk mengambil data employees
//////////////////////////////////////////
$results = oci_execute($sth, OCI_DEFAULT);
if (!$results) {
$e = oci_error($sth);
echo htmlentities($e[‘message’]);
die;
}
// menampilkan hasil query pada browser
//////////////////////////////////////////
echo ‘<table border=1>’;
while ($row = oci_fetch_array($sth, OCI_RETURN_NULLS)) {
echo ‘<tr>’;
foreach ($row as $item) {echo ‘<td>’.($item?htmlentities($item):’ ‘).'</td>’;
}
echo ‘</tr>’;
}
echo ‘</table>’;
// menutup koneksi database
//////////////////////////////////////////
oci_close($conn);
?>
Berikut ini tampilan yang merupakan hasil output dari script diatas (datanya sudah ada dalam tabel Oracle 10g XE)
Koneksi antara PHP dan Oracle melalui Zend Core merupakan langkah yang besar bagi komunitas PHP. Apalagi jembatan tersebut didukung penuh oleh Zend Technologies sebagai pengembang bahasa PHP. Tidak dapat disangkal lagi bahwa pada tahun-tahun mendatang, aplikasi enterprise berbasis web terutama pada sisi front-end akan didominasi juga oleh PHP sebagai bahasa pemrograman web yang populer !
Proses instalasi dan cerita diatas menggunakan software – software seperti :
- Windows XP ServicePack 2
- PHP Version 5.1.6
- Oracle 10g XE
- ZendCoreforOracle-v.1.5-Windows-x86
Referensi mengenai PHP dan Oracle di situs internet:
Oracle PHP Developer Guide
Zend Core for Oracle
DeployPHP Series, Part 5: Zend Core for Oracle Quick Start
ORACLE 10g XE + PHP
Instalasi Oracle Instant Client di Linux
jazakillah buat tutorialnya
Posting ini beguna banget…
terutama buat orang2 yg lagi cari referensinya.
salam,
sebelumnya perkenalkan nama saya eko, staff tech. support pada perush. swasta, saya sudah kursus php dengan menggunakan xampp, dan saya lagi mencoba pakai zend framework (sudah download).
saya minta tolong sekiranya tidak merepotkan, bagaimana caranya menyetting zend framwork pada xampp.
terimakasih atas bantuannya, semoga ilmunya bermanfaat.
salam,
eko
salam kenal juga eko. disini saya tidak bisa menjelaskan secara rinci mengenai zend framework, tapi anda bisa melihat tutorialnya di http://akrabat.com/zend-framework-tutorial/
atau di
http://www.zftutorials.com/
sebenarnya setting Zend Framework di XAMPP itu anda tinggal merubah konfigurasi Apachenya saja agar dapat menjalankan Frameworknya.
keren deh tutorialnya. thanx yah… saya udah kebantu banget setelah mas risnandar menyarankan saya di php milis untuk baca halaman ini.. thanx yah mas…
your welcome Rita. Senang bisa membantu anda..
selamat pagi
kalo pake oracle 10g, bagaimana?
apa saja yg perlu di ubah
plis aku butuh bantuan teman2 smua
email jawabannya ke:
kosangwelho@yahoo.com
terimakasih, nb: ada hadiahnyalho (he3x)
Thx atas tutorialnya.
Saya sudah coba zend corenya untuk oracle 10g setelah berkali2 gagal mencoba secara manual.
Tapi yang saya tanyakan, Zend core ini sepertinya hanya untuk Fastcgi ya, trus kalo mau sebagai modul bagaimana?
Terus kalo untuk di hosting apa sudah tersedia?
Terakhir akhir2 ini ko sering errornya php-nya setalah sebulan tidak ada masalah.
Satu lagi, kalau tanpa zend core kira2 bagaimana settingnya, saya udah muter2 cari di forum masih belum dapet kecuali ya pake zendcore ini.
Terima kasih
odon
mas kenapa oci saya tidak bisa ya ada tanda seru di sebelah kanannya
odon:Zend Core ini memang sudah built in harus memakai fastcgi karena solusi tersebut membuat php lebih stabil ketika menghandle request yang tinggi.
Saat untuk hosting saya belum mencari 🙂 biasanya untuk keperluan oracle biasanya memakai dedicated server. Kalau php nya error mungkin ada konfigurasi komputer anda yang berubah.
Untuk setting tanpa ZendCore bisa muter2 di internet. Saya sendiri memakai Zend Core karena kemudahannya.
sulis: anda memakai zend core for oracle kan ? platformnya windows atau yang lain?
saya pakai zend cor for oracle yg windows mas versi 2.5…??satu lagi pertanyaan saya ,,apakah saya perlu install php?trus taruh file kerjaan saya di mana ya,,,saya biasa pakai appserv lokasinya di www or htdocs,,makasih
salam kenal, saya pake zend core dan wamp, tp knp mysql nya jadi ga jalan ya, ext sudah on semua, tp ga bisa di start..punya solusi?
salam kenal juga.
apache+php itu terpisah aplikasinya dengan mysql.
biasanya sy install mysql dulu dengan installer terpisah lalu install zend core untuk apache bawaan zendcore+php, dan cara ini sudah sy lakukan berkali kali tanpa error.
mungkin anda menginstall zend corenya saja yang apache dan mysqlnya bawaan dari WAMP sehingga konfigurasinya tidak cocok. untuk testing sebaiknya jangan install WAMP dulu ATAU dengan mencobanya di komputer yang lain. Bisa juga pake virtual pc dulu biar aman.
sulis: maaf sy telat balas. Zend core itu sudah termasuk PHP jadi tidak usah diinstall lagi PHPnya. Kalau anda menginstall dengan konfigurasi apache yang sudah ada berarti htdocs nya sudah langsung bisa digunakan.
betul, mysql bawaan dari wamp(apache+mysql) kemudian instal zend core nya, sedangkan apache nya pake yang di zend
gimana cara koneksi php ke oracle ? ?
pokoknya all cara kerja oracle lahh ??
coz saiia ma temen22 lum ngertii.
tpii ditempat prakerin disuruh oracle oracle.
bantuin yah secepatnya..
pa ..
@Intan & Gita: Anda tidak mengertinya dibagian mana? coba baca2 dulu mengenai menggunakan Oracle yang banyak dicari melalui search engine.
tha ga ngrti cara ngoneksiinnya aja ..
trus itu scrip di savenya dmn ?
d htdoc jga ?
artikel yang bagus dan menarik sekali saya jadi bertambah pengetahuannya…^_^
Terima kasih atas infonya, silakan berkunjung ke sini dan jika mau tahu artikel yang menarik silakan kunjungi disini
cara uninstall oracle gimana y?? blz cepat dunk…
Terima kasih Pak, artikelnya sangat membantu.
Tapi, saya masih ada pertanyaan, kenapa milik saya belum bisa konek ya? “Internal Server Error”. Saya tidak mengerti apa masalahnya. oci8 sudah aktif sesuai dengan panduan ini, tetapi kenapa masih “Internal Server Error” ya? kalau saya sendiri, kemungkinan saya salah memasukkan ip database oracle-nya, ip itu bisa ditelusuri lagi di mana ya? coz saya tidak paham/lupa.
Perlukah juga menginstal OracleClient-nya?
Terima kasih jawabannya?
Ping balik: Koneksi PHP 5, Zend Core dan Oracle 10g XE « Enterprise PHP Center
saya mau tanya, saya udah coba seperti cara anda diatas tapi saya menemukan error seperti ini Fatal error: Call to undefined function oci_connect() in C:\xampp\htdocs\coba\koneksi.php on line 6 maksudnya apa ? dan cara pemecahannya bagaimana ? thx
Mak Nyoss….!
tengs pak riki.
salam indovisi 🙂
ane punya masalah dengan web server ane, kok gak bs konek ke localhost, database: oracle 9i,php, zend
bs tlg pencerahan ny pak boss…
yg kurang dimana nya ya….
thanx
halo pak risnandar,
saya sedang ada kendala connect php ke oracle, semua perintah dari bapak sudah saya jalankan..tetapi ada error seperti ini
oci_connect() [function.oci-connect]: ORA-12514: TNS:???? ?? ?? ???? ??? ???? ?? ??
kira 2, bagaimana perbaikannya ya…
saya memakai oracle 8.1.7(server ada di komputer lain)
terima kasih
yah mas2nya dah gak aktip 😦
Thanks sob artikelnya bermanfaat, silahkan di cek sob aplikasi akunting buatan anak Indonesia yang gak kalah keren ama buatan luar di kiper.co.id