A quick Google search on “Apache2 PHP5 Oracle Instant Client” will yield a plethora of documents on how to install these packages to play well with one another. In fact, I even followed them when I built a recent server and everything went swimmingly. When I had to rebuild the server a couple of days later though, I couldnt get it to work, using the same approach. I spent almost a week tweaking environmental settings, modifying config files, etc. but nothing worked. Today I discovered the problem. Apparantly I was using PHP 5.1.1 the first time, and 5.1.2 the second time, and when I compiled PHP, the syntax for the switch to install Oracle changed. using the old syntax does not trigger an error or a warning, and it can be difficult to debug.

Old Syntax:

./configure –with-oci8-instant-client=/path/to/oracle

New Syntax:

./configure –with-oci8=instantclient,/path/to/oracle

The difference is subtle. One more migrain down!