Apache + PHP + Oracle

Ondrej Sury sury.ondrej na globe.cz
Středa Listopad 6 16:01:57 CET 2002


Michal Dobes <dobes na tesnet.cz> writes:

> Kovar Jan wrote:
>> Muzete mi nekdo doporucit, jestli je u nas nejaka diskusni skupina na tema
>> Apache + PHP + Oracle?
>> Mate pripadne nekdo tip, jak si overit, jestli na Linuxovem stroji, kde je
>> Apache, PHP a Oracle jsou tyto programy schopne komunikace? Tedy jestli je
>> PHP s podporou Oracle?
>
> Jak zminil kolega, bud OCI8 nebo ODBC. Nejrychlejsi test na to, zda
> vase instalace PHP ma nativni podporu oracle je asi toto:
> [dobes na develserver dobes]$ ldd /etc/httpd/modules/libphp4.so
> [... cut ...]
>         libclntsh.so.9.0 =>
> /exports/oracle/product/9.0.1/lib/libclntsh.so.9.0 (0x401c4000)
>         libwtc9.so => /exports/oracle/product/9.0.1/lib/libwtc9.so
> (0x40a4d000)
> [... cut ...]
> [dobes na develserver dobes]$
>
> Ve vypisu by se mely objevit radecky podobne tem dvema s odkazem na
> knihovny libclntsh.so a libwtc9.so.
> Pokud se neojevi, tak neni PHP prelozeno s podporou Oracle a nejde
> pouzivat primo PHP funkce OCI* pro komunikaci s Oraclem.
> Pak bud pouzit ODBC nebo si znovu prelozit PHP. 

To co pisete je poplatne pouze vasi instalaci.

1. oci8 muze byt v php jako modul
2. libphp4.so neni vzdy v /etc/httpd/modules/
3. libphp4.so muze byt zkompilovana staticky

tudiz, nejlepsi zpusob jak si to overit je:

$modul = 'oci8'; # nevim presne jestli je ten nazev modulu presne tenhle, tak me kdyztak nekdo opravte

if (!extension_loaded($modul)) {
   print "zkousim zavest dynamicky modul {$modul}...";
   @dl("{$modul}.so");
   if (!extension_loaded($modul)) {
      print "nezdarilo se.";
   } else {
      print "nahrano."
   }
} else {
   print "modul {$modul} je aktivni.";
}

pripadne se zeptat admina toho stroje.

-- 
Ondrej Sury - CIO                   Globe Internet s.r.o. http://globe.cz/
Tel: +420(2)35365000 Fax: +420(2)35365009     Planickova 1, 162 00 Praha 6


Další informace o konferenci Linux