PHP Oracle install

Oracle and PHP

Today I was asked to make a report from an Oracle database.

I thought this would be a good time to test PHP with Oracle. I’m sure there are some Oracle reporting tools and I’m positive they suck.

Hmmm php.net reports that oracle functions are deprecated… I’ll Google. This Oracle Faq tells me I need Oracle Call-Interface functions.

So I snag instantclient-basic-linux32–10.2.0.1–20050713.zip weighing in at just 33 megs. That’s a slim package from Oracle. I wonder if that version works only with a specific version of 10g or any? Oh well, Oracle are not giving me any clues.

After navigating about umpteen pages I then have to log in. I try my metalink account and guess what? It doesn’t work. Off to Bugmenot for some sanity. Oracle’s disclaimer is awful to attempt to read. I just check the boxes and download…

Sadly to my WinXP workstation as there isn’t a unique download URL for me to plug into wget in my putty session. Oracle you idiots. Though, I recall Sun being just as dumb. I now boot up WinSCP and transfer it to my Debian machine.

So I unzip the beast:


Archive: instantclient-basic-linux32–10.2.0.1–20050713.zip
inflating: instantclient_10_2/classes12.jar
inflating: instantclient_10_2/libclntsh.so.10.1
inflating: instantclient_10_2/libnnz10.so
inflating: instantclient_10_2/libocci.so.10.1
inflating: instantclient_10_2/libociei.so
inflating: instantclient_10_2/libocijdbc10.so
inflating: instantclient_10_2/ojdbc14.jar

Grrr, is this really for PHP? Where is a nice little TEXT file to read?

Google. Google some more. Time passes. Check email. Google. Holy Shit. Do I have to recompile Apache?

Nah, can’t be. Can’t be… Maybe there is a php_oci8.so I could reference in like MySQL in the php.ini. There does seem to be a .dll for windows. Grrr…. Nothing. Maybe PHP5? No, these guys say stick with php4 with oracle.

Oh here’s something. I love php.net’s comments.

Maybe just a PHP recompile. Argh… After reading the comments, Oracle seems such a nightmare to install. I wonder what glibc these instant clients are built against. I wonder if the instant client package is enough. I am going to cry now and come back to this.

Found any of my content interesting or useful?