RE: [PHP-INST] RE: Problem loading php-module as DSO into Apache httpd
| From: | Poetsch, Michael | Date: | Fri, 19 Apr 2002 09:27:47 +0000 |
| Subject: | RE: [PHP-INST] RE: Problem loading php-module as DSO into Apache httpd | ||
| Groups: | php.install | ||
| Request: | Send a blank email to php-install+get-6685@lists.php.net to get a copy of this message | ||
Hi !
We finally managed to get Apache + PHP4 + MySql running on our solaris 2.8 box.
The LoadModule/AddModule instruction to load the php4 module in httpd.conf is exactly what I found
in the INSTALL file of the PHP4 source distribution.
I will attach 2 small text files which outline all the steps we undertook. Hope it works on your
system as well. I cross my fingers!
Regards & good luck
Michael
-----Original Message-----
From: Todd Mortensen [mailto:Todd.Mortensen@veritas.com]
Sent: Thursday, April 18, 2002 11:00 PM
To: 'Tib'
Cc: Poetsch, Michael; Php-Install (E-mail)
Subject: RE: [PHP-INST] RE: Problem loading php-module as DSO into
Apache httpd
I am having this trouble with php4.1.2 php4.1.1 and php4.2 rc4.
Todd
-----Original Message-----
From: Tib [mailto:tib@tigerknight.org]
Sent: Thursday, April 18, 2002 1:50 PM
To: Todd Mortensen
Cc: 'Poetsch, Michael'; Php-Install (E-mail)
Subject: Re: [PHP-INST] RE: Problem loading php-module as DSO into Apache
httpd
I had a similar problem with this. the solution I was able to come up with
was that (i'm guessing you're using apache 2 since this is the same error
I had with it) you need to use the --with-apxs2=/path/to/apache2/bin/apxs
Try it with that. I am having issues with php4.2.0 cr4, but the compile
went clean and the module isn't complaining at least.
On Thu, 18 Apr 2002, Todd Mortensen wrote:
> I tried what you suggested. I am also usingt he gnu binutils and gcc
> 3.0.3.
>
> Here is how I am trying to configure php. I can get apache to compile
> and start ok. But the php causes a problem each time.
>
> todd@svlecs01:~/src/php-4.1.2$cat config.nice
> #! /bin/sh
> #
> # Created by configure
>
> './configure' \
> '--with-mysql=/usr/local/mysql' \
> '--enable-trans-sid' \
> '--with-apxs' \
> '--with-mm=/usr/local/lib' \
> "$@"
> todd@svlecs01:~/src/php-4.1.2$sudo apachectl start
> Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
> Cannot load /usr/local/apache/libexec/libphp4.so into server: ld.so.1:
> /usr/local/apache/bin/httpd: fatal: relocation error: file
> /usr/local/apache/libexec/libphp4.so: symbol ap_block_alarms:
> referenced symbol not found /usr/local/apache/bin/apachectl start:
> httpd could not be started
>
> And I know these ap_* symbols are from apache but I don't know why
> they are not being linked properly.
>
> I will try again and repost any further findings. Thanks for the
> updates.
>
> Todd.
>
>
>
What I did before I started configure/make/make install against Apache 1.3.24: ============================================================================== - copy libap.a from /opt/packages_cpq/apache_1.3.24/src/ap to /usr/lib (this is the archive containing all the ap_*_* symbols) I was under the impression that "ld" could not locate it in the source path of apache, but I am not sure!!! - unset LD_LIBRARY_PATH - rename the gnu "ld" command to "gnu-ld" and use the standard solaris ld instead I think this was the most important part. The gnu ld comes with the gnu binutils package. To make sure you are using the solaris ld, just invoke it manually on the command line. The solaris "ld" displays this message on the screen: kjs008-/opt/packages_cpq/apache_1.3.24> ld usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?] file(s) The gnu "ld" command comes up like this: kjs008-/opt/packages_cpq/apache_1.3.24> gnu-ld --version GNU ld 2.11.2 Copyright 2001 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. Supported emulations: elf32_sparc elf64_sparc My configure line for apache was: ================================= ./configure --prefix=/usr/local/apache \ --enable-module=so --enable-module=rewrite My configure line for PHP4 was: =============================== ./configure --with-apxs=/usr/local/apache/bin/apxs \ --enable-track-vars --with-mysql=/usr/local/mysql --with-zlib I am using the source distribution of zlib-1.1.4 which installs under /usr/local/lib/libz.a I needed zlib because I am using mysql-support with php4. If I do not include zlib, Apache complains about an undefined symbol "compress" when loading libphp4.so. MySql is the binary distribution currently available on sunfreeware.com.
What I did before I started configure/make/make install against Apache 1.3.24: ============================================================================== - copy libap.a from /opt/packages_cpq/apache_1.3.24/src/ap to /usr/lib (this is the archive containing all the ap_*_* symbols) I was under the impression that "ld" could not locate it in the source path of apache, but I am not sure!!! - unset LD_LIBRARY_PATH - rename the gnu "ld" command to "gnu-ld" and use the standard solaris ld instead I think this was the most important part. The gnu ld comes with the gnu binutils package. To make sure you are using the solaris ld, just invoke it manually on the command line. The solaris "ld" displays this message on the screen: kjs008-/opt/packages_cpq/apache_1.3.24> ld usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?] file(s) The gnu "ld" command comes up like this: kjs008-/opt/packages_cpq/apache_1.3.24> gnu-ld --version GNU ld 2.11.2 Copyright 2001 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. Supported emulations: elf32_sparc elf64_sparc My configure line for apache was: ================================= ./configure --prefix=/usr/local/apache \ --enable-module=so --enable-module=rewrite My configure line for PHP4 was: =============================== ./configure --with-apxs=/usr/local/apache/bin/apxs \ --enable-track-vars --with-mysql=/usr/local/mysql --with-zlib I am using the source distribution of zlib-1.1.4 which installs under /usr/local/lib/libz.a I needed zlib because I am using mysql-support with php4. If I do not include zlib, Apache complains about an undefined symbol "compress" when loading libphp4.so. MySql is the binary distribution currently available on sunfreeware.com.