PHP - OCI8 telepítése Ubuntura és használata PHP-vel

Oracle adatbázis elérése Apache webszerver és PHP segítségével 




Nemrégiben munkám során szükség volt Oracle adatbázisból kiolvasni egy már régebben elkészített PHP programmal és az adatokat feldolgozni. A hívó szerver egy Ubuntu, melyen Apache2 webeszerver fut. Erről a szerverről eddig csak lokálisan vagy távoli MySQL ill. MSSQL adatbázisokat kellett elérnem. Ahhoz, hogy Oracle-hez is tudjunk kapcsolódni és adatokat kiolvasni, feldolgozni PHP-vel telepíteni kell a szerverre egy úgynevezett OCI-t (Oracle Call Interface). 

1. Oracle kliens és SDK letöltése

Mindenek előtt le kell tölteni innen az aktuális SDK-t. Természetesen azt a verziót kell letölteni, amelyik megfelel a szerverünk operációs rendszerének. 

2. Környezet kialakítása

A letöltés után létre kell hozni egy mappát a szerveren, melybe utána bele kell másolni a becsomagolt állományokat:

mkdir /opt/oracle

Következhet a kicsomagolás. Ehhez be kell lépni az előbb létrehozott mappába:

cd /opt/oracle

Kicsomagolás:

unzip instantclient-basic-linux-12.1.0.2.0.zip
unzip instantclient-sdk-linux-12.1.0.2.0.zip

A verziószám eltérő lehet ettől, erre figyelni kell! 

A továbbiakban készítünk symlinkeket:

ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so

ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so

Végül hozzá kell adni a könyvtárat az ldconfog-hez:


echo /opt/oracle/instantclient_12_1 > /etc/ld.so.conf.d/oracle-instantclient

Utána frissíteni kell:

ldconfig

3. Az OCI telepítése

Először is ki kell adni ezt a parancsot:

apt-get install php-pear php5-dev build-essential libaio1

Ez után már telepíthetjük az OCI-t:

pecl install oci8

Amikor megkérdezi, hogy hol van a kliens elérése, az alábbit kell megadni (verziónként különbözhet):

instantclient,/opt/oracle/instantclient_12_1

Telepítés után a php.ini fájlban rögzíteni kell az alábbiakat (PHP5 esetén):

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

A módosítás után már csak egy webdszerver újraindítás szükséges:

/etc/init.d/apache2 restart



Megjegyzések