So, Chris Cornutt‘s comment on my last entry regarding LD_LIBRARY_PATH did turn out to be my issue. Once it was properly set, libphp5.so was properly able to see needed libraries and Apache was able to boot successfully.
Some time later, I was able to get the PDO and PDO_INFORMIX extensions from PECL installed. I was able to install the Informix Client SDK, despite post-installation configuration on the client system being a bit tedious to wade through.
As of the end of the day Wednesday, though, I still couldn’t successfully get PHP and Informix speaking on the same wavelength. I have a feeling, though, that this is more than likely due to an issue with Informix than with PHP.
I’ve tried logging in as both root and as the user who owns all of the tables in the database I’m trying to access. However, neither prevents this error from appearing when I attempt to connect to the server from PHP.
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE=HY000, SQLDriverConnect: -329 [Informix][Informix ODBC Driver][Informix]Database not found or no system permission.'
I’ve used the dbaccess utility that comes with Informix on the database server box to confirm that both logins are valid and can see the database I’m trying to connect to. I’ve already checked from both the server and client boxes to confirm that the hostname being used maps to the correct IP address on the LAN, so the issue is not a host identity crisis.
It seems odd that I would be able to access the database with no issues on the database server, but that may just be a lack of understanding of Informix user permissions on my part. Oh well… I’ll be hitting it again tomorrow, so wish me luck and throw in pointers if you’re familiar with Informix.
Update: A coworker of mine did eventually find the problem, which had to do with weirdness in the Informix database server configuration. If you didn’t know, Informix stores its data in a fashion similar to that of MySQL: each database has its own directory and each table one or more files within that directory. Apparently, because of the server configuration, when specifying a database, the entire path to the database directory had to be provided instead of just the database name, hence the “Database not found” error. Now I get to engage in the exciting task of porting a large C-based CGI application over to PHP. Joy…