[nycphp-talk] 32bit vs AMD 64 versions of Apache and shared objects
Daniel Krook
krook at us.ibm.com
Sun Feb 27 17:50:34 EST 2005
Hey folks,
I'm trying to configure a Xeon processor-based (EM64T/AMD 64) SuSE 9.2
Professional machine to run Apache 1.3.33, PHP 5.0.3 and WebSphere
Application Server 5.1.1.3. I was able to get all these guys cooperating
on a 32 bit Pentium III machine on the same version of SuSE Pro. But I
seem to be running into some 32 bit vs 64 bit issues on this new machine.
The way things worked out on the older machine was that I had a binary
installation of Apache (IBM HTTP Server, based on 1.3.28) which used a
shared object to communicate with WAS, and which used libphp5.so that I
compiled against it via apxs for PHP. All was well.
On this machine, however, I can't get the precompiled 32-bit Apache (IHS)
talking to PHP via libphp5.so, as the PHP build against it creates a
64-bit object:
# /opt/IBMHttpServer/bin/apachectl configtest
Syntax error on line 231 of /opt/IBMHttpServer/conf/httpd.conf:
Cannot load /opt/IBMHttpServer/libexec/libphp5.so into server:
/opt/IBMHttpServer/libexec/libphp5.so: cannot open shared object file: No
such file or directory
# file /opt/IBMHttpServer/libexec/libphp5.so
/opt/IBMHttpServer/libexec/libphp5.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), not stripped
On the other hand, if I try to compile my own version of Apache, it will
work with the 64-bit version of libphp5.so, but will not use the 32-bit
WebSphere plugin:
# /opt/local/apache/bin/apachectl configtest
Syntax error on line 243 of /opt/local/apache/conf/httpd.conf:
Cannot load /opt/WebSphere/AppServer/bin/mod_ibm_app_server_http.so into
server: /opt/WebSphere/AppServer/bin/mod_ibm_app_server_http.so: cannot
open shared object file: No such file or directory
# file /opt/WebSphere/AppServer/bin/mod_ibm_app_server_http.so
/opt/WebSphere/AppServer/bin/mod_ibm_app_server_http.so: ELF 32-bit LSB
shared object, Intel 80386, version 1 (SYSV), not stripped
So, I guess my question is how can I get my 64-bit version of Apache to
use the 32-bit WAS plugin, or alternately how can I get the 32-bit version
of IHS to use the 64-bit PHP object? Is it possible to do that? If not,
how would I compile a 32-bit version of libphp5.so on AMD 64 so that the
32-bit version of IHS can use it?
Thanks in advance for any pointers.
Daniel Krook, Advisory IT Specialist - Application Development
WW Web Production Services North 2, ibm.com
1133 Westchester Avenue, White Plains, NY 10604
Personal: http://info.krook.org/
Persona: http://w3.ibm.com/eworkplace/persona_bp_finder.jsp?CNUM=9A9796897
More information about the talk
mailing list