Sühan Erol (Oracle+PHP)

Mart 24, 2009

Ubuntu Linux üzerinde PHP , OCI8 ve Oracle Instant Client Kurulumu

Kategori: Oracle, PHP — suhanerol @ 9:55 am

Bu makale ile, günümüzün en yaygın ve kullanışlı linux dağıtımlarından olan Ubuntu üzerinde Oracle bağlantı destekli PHP kurulumu anlatılarak bir sonraki  “PHP ile ‘OCI Client Result Cache’  (Sorgu sonuçlarının İstemci(webserver)  tarafında tutulması)“  konulu makalenin uygulanabilmesi için hazırlık yapılması amaçlanmıştır.

Bir terminal açınız ve aşağıdaki sudo komutunu yazarak sistem yöneticisi hakkını alınız.

# sudo -i

Aşağıdaki komut apache’nin son sürümünü yükleyecektir.

# apt-get install apache2

PHP ve diğer modüllerin kurulumu
# apt-get install php5-common php5 php5-dev libapache2-mod-php5 php5-cli

# apt-get install build-essential php-pear

# apt-get install libaio1

Aşağıdaki linki kullarak Oracle Instant Client BASIC ve SDK dosyalarını indiriniz.

http://www.oracle.com/technology/tech/oci/instantclient/index.html

Dosyalar muhtemelen kullanıcının masaüstüne kayıt edilecektir.

Aşağıdaki komut ile yeni bir dizin açınız.

# mkdir /opt/oracle

İndirdiğiniz iki dosyayı yeni oluşturulan /opt/oracle klasörüne taşıyınız.

# mv /home/ubuntu/Desktop/*.zip /opt/oracle

Yeni oluşturulan klasöre geçiniz

# cd /opt/oracle

InstantClient dosyalarını aşağıdaki komut ile açınız.
# unzip \*.zip

Unzip işlemi sonunda yeni bir klasör oluşacaktır. Bu klasörün ismini aşağıdaki komut ile değiştiriniz.

# mv instantclient_11_1 instantclient

Yeni klasöre giriniz.
# cd instantclient

Yeni Sembolik linkler oluşturmak için aşağıdaki komutlar çalıştırınız.

# ln –s libclntsh.so.11.1 libclntsh.so
# ln –s libocci.so.11.1 libocci.so

Aşağıdaki komut ile yeni bir klasör oluşturunuz. Bu klasör OCI8 kütüphane dosyalarını içerecektir.

# mkdir /opt/oracle/src

Yeni oluşturulan klasöre geçiniz ve pecl ile OCI8 tar dosyasını indiriniz. Pecl son sürüm OCI8 dosyasını indirecektir. Şuanda son sürüm 1.3.5 dir. 1.3 sürümünden itibaren "Client Result Cache" özelliği kullanılabilmektedir.

# cd /opt/oracle/src
# pecl download oci8

İndirilen OCI8 dosyasını açınız.

# tar xvf oci8-1.3.5.tgz

Yeni oluşan klasöre giriniz.

# cd oci8-1.3.5

phpize komutu, PHP için yeni bir eklenti derlemek gerektiğinde sistemde gerekli hazırlıkların yapılmasını sağlamaktadır. OCI8 Eklentisini derlemek için bu komutu çalıştırınız.

# phpize

Aşağıdaki komutu kullarak ORACLE_HOME çevre değişkenini tanımlayınız.
# export ORACLE_HOME=/opt/oracle/instantclient

OCI8 eklentisinin derlemesi işleminin ilk adımı olarak aşağıdaki configure komutunu çalıştırınız.
# ./configure --with-oci8=share,instantclient,/opt/oracle/instantclient

make komutuyla derlemeyi başlatınız.

# make

Aşağıdaki komut ile oluşan oci8.so dosyasının ilgili klasöre kopyalanmasını sağlayınız.

# make install

PHP ve OCI8 bağlantısının sağlanması için php.ini dosyalarına “extension=oci8.so” satırının eklenmesi gerekmektedir. Aşağıdaki komutlar ile bunu gerçekleştirebilirsiniz.

# echo extension=oci8.so >> /etc/php5/apache2/php.ini
# echo extension=oci8.so >> /etc/php5/cli/php.ini

Apacheyi Yeniden Başlatınız.

# /etc/init.d/apache2 restart

Bu işlemlerden sonra PHP, OCI aracılığıyla Oracle veritabanı bağlantısı yapabilir hale gelmiştir. aşağıdaki örnek kod ile test yapabilirsiniz.

<?php
$c=oci_pconnect('hr','hr','//oracleserver:1521/xe');
$s=oci_parse($c,"select  * from hr.employees");
oci_execute($s);
oci_fetch_all($s,$res);
print_r($res);
?>

4 Yorumlar »

  1. peki sayın ustam, bi sorum olacak…

    oracle client yuklu makine üstünde php+mysql+apache var.
    buraya kadar her şey tamam.

    ama oracle server baska bir makinada (windows 2003).

    oracle client nasıl bağlanacak ona ?

    Yorum�Yorumlar yazan: ismail savran — Mart 25, 2009 @ 8:01 am

  2. Yukarıda anlatılan kurulum içinde sizin belirttiğiniz durum geçerli, yani oracle server başka bir makinada.

    $c=oci_pconnect(’hr’,’hr’,’//oracleserver:1521/xe’); komutundaki “oracleserver” oracle kurulu makinanin ismi veya ip olabilir. bu ismi değiştirerek bağlantı kurabilirsiniz.

    Yorum�Yorumlar yazan: suhanerol — Mart 25, 2009 @ 9:16 am

  3. teşekkürler…

    Yorum�Yorumlar yazan: ismail savran — Mart 25, 2009 @ 9:48 am

  4. Ubuntu üzerinde tam olarak yapmak istediğim şey buydu. Apache ve Oracle kurulumu…
    Konu için teşekkürler.

    ;)

    Yorum�Yorumlar yazan: Halkın Gündemi — Ekim 29, 2009 @ 11:47 am


Bu yazıya yapılan yorumlar için RSS beslemeleri. URI'nin geri izlemesini yap.

Yorum yapın

WordPress.com'dan blog alın.