Tuesday, January 20, 2009
PHP modules' DLL hell
In Windows platform, the webserver package of my choice is MoWes (mobile webserver). In the past it is called WoS (Webserver on a stick). We just copy the folder from one computer to another, and run its exe-file, instantly we have a Apache - MySQL - PHP triad running without any installation hassles.
But recently, I copied the MoWes onto two servers, and I cant seem to load both PHP_OCI8 and PHP_LDAP modules. After a few wrong turns, finally I used Microsoft Visual Studio's Dependency Walker tool. And voila - both of the DLL's problems were shown before my eyes.
PHP_LDAP's problem was SSLEAY not installed. PHP_OCI8's problem was that the OCI.DLL is in the AMD 64-bit architecture (equivalent to Intel EM64T architecture) while the php/apache system is in 32-bit architecture. Now, where did I keep the downloaded the oracle instant client for win32..