Bunun için birden fazla (çok fazla) yol denedim ve sorun çıkartmadan çalışan en temiz yol, Oracle'ın sağladığı instantclient kütüphaneleri ve pear'den gelen oci8 eklentisi.
Başlıyoruz;
Kurulum için debian metodları ile Apache2 ve PHP5 kurarak çalışan bir webserver'ınız olduğundan emin olun.
apt-get install apache2
apt-get install php5
birazdan edineceğimiz oci8'i phpize etmemiz gerekecek bunun için de,
apt-get install php5-dev
apt-get install php-pear
ileride oci8 için kullancağımız
İlk olarak, oracle'dan instantclient edinelim, bunun için üyeliğe ihtiyacınız olacak.
Bu yazı hazırlanırken geerkli dosyalar ve sürümleri şöyle;
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
instantclient-basic-linux32-11.2.0.1.zip (46,738,674 bytes)
instantclient-sdk-linux32-11.2.0.1.zip (635,511 bytes)
Bu iki dosyayı alıp /opt/oracle altına kopyalayın
mkdir -p /opt/oracle/instantclient
cd /opt/oracle/instantclient
unzip instantclient-basic-linux32-10.2.0.1-20050713.zip
unzip instantclient-sdk-linux32-10.2.0.1-20050713.zip
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig
Sembolik linklerimizi el ile oluşturuyoruz.
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so
oci8 eklentisini pear ile indirip kurabilmemiz gerekir ancak bu yazıyı hazırladığım sırada ve ben kurulumu yaparken, pear oci8 için bir dağıtım olmadığını söylüyordu, ben de dosyayı wget ile alıp, öyle kullandım.
mkdir -p /usr/local/src
cd /usr/local/src
pear download oci8
eğer size de bir release olmadığını söylüyorsa,
http://pecl.php.net/package/oci8 adresinden size uygun (en yüksek stable) sürümü için bağlantı adresini alın,
wget http://pecl.php.net/get/oci8-1.3.5.tgz
ardından
tar xzf oci8-1.3.5.tgz
cd oci8-1.3.5
phpize
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient
make
make install
Son olarak php.ini (/etc/php5/apache2/php.ini and /etc/php5/cli/php.ini) dosyalarını düzenlememiz gerekiyor. Uygun bir yerlere (dosyanın sonu ya da ;extension= şeklinde başlayan satırların sonu uygundur)
extension=oci8.so
Artık phpinfo(); fonksiyonunu inceleyebilirsiniz...