I've spent most of the week trying to get PHP working with the Oracle-installed version of Apache on a Solaris box. I'm a software developer, not a system administrator and most of my system administration experience has involved playing with a linux box I had about 5 years ago and playing with the BSD underpinnings in Mac OS X. That is to say, I'm not a very experienced system administrator and I'm not terribly good at it. It's been a good experience for me to get my hands dirty with sys-admin work, but it's been trying.
Why am I unhappy with Oracle? Basically, it boils down to the fact that they don't support PHP (source: Statement of Direction: PHP Support on OHS: Oracle does not support mod_php or the php language). That wouldn't be so bad, except that I need to be using PHP on the version of Apache that Oracle installed. And they all need to be able to "play nice" with each other. Oh, how nice it would have been if I could have simply done PHP with a standard install of Apache. Or if I could use MySQL for the database. Alas, none of that was possible. That really turned out to be not so bad, though, because even though Oracle doesn't support PHP, they provide PHP instructions for OHS on Solaris. What a happy day it was for me when I found that page yesterday. When I was finally able to bring up a PHP page before going home yesterday, I was practically beside myself. That's really sad, because the (what should be a simple) act of configuring and installing a standard piece of software should not be cause for cellebration.
Why am I unhappy with Solaris? Mostly because Solaris installs often lack C compilers and their related tools for installing PHP. Specifically, I needed some GNU tools because [u]sing non-GNU utilities while compiling PHP may cause problems.... For example, on Solaris, using either the SunOS BSD-compatible or Solaris versions of sed will not work, but using the GNU or Sun POSIX (xpg4) versions of sed will work. So I ended up having to spend most of a day learning that fact, and installing the necessary GNU software. Eventually, I got it all became much happier with the state of development tools on this system.
Yesterday, I finally got PHP configured, compiled, and installed on this sytem. The only thing that was missing was compiling Oracle support into PHP. Every time I tried to compile after having configured using the
--with-oci8switches, I got a link error during the compilation1. I solved that linking problem this morning and now have PHP working the way I think it needs to be working on this system. After almost a week of configuration and installation, I am finally at the starting gate for my project. Now I need to learn PHP.
I find it interesting that my complaints are with the propriatary software. The open-source software just seems to work. I'm not surprised, but it's still an interesting observation.
 The specific error I got was
libclntsh.so wrong ELF class: ELFCLASS64. I note it here because searching for that phrase on Google quickly led me to a page with some OCI8 comments that helped me immediately solve my problem. So if you're reading this because you found this entry via some sort of web search, you're not alone. You can find the answers to your problems by trying some of the other links that come up on your search.