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
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
Megjegyzés küldése