apache2 needs to be built/run using the prefork worker module
(as opposed to a threaded worker module which causes php to blow up
quite often [due to the fgact that there are php extensions which are
not thread safe]) - check that first.
the duplicate name errors seem to stem fom the fact that some extensions
are being loaded twice ... one possible reason for this is hinted
at by the post found on this page:
http://www.redhat.com/archives/fedora-legacy-list/2005-February/msg00047.html
hth
Olaf Greve wrote:
Hi guys,
Alright, after having been stuck with this for an hour or two now, I'm
going to call upon your infinite wisdom regarding the following:
On a FreeBSD 5.2.1-RELEASE #0 (so says dmesg) machine, I'm trying to
set-up Subversion, Trac and our regular PHP4 and MySQL stuff.
The main issue is that Apache 2.2 blows up (with a segmentation fault)
when calling various PHP scripts, which I think is due to a dodgy way of
having set-up PHP4 under Apache. This message works towards the issue,
providing relevant(?) details, as I type along:
Here we go:
Previously the machine was running Apache 1.3.34 and that went just
swell with PHP and all, but apparently for Subversion and/or Trac,
Apache 2 is desired such that it can be used with WebDav.
No problem so far. I made sure the ports tree was up to date and then
from the ports I built (always via a 'make' 'make install' sequence, and
where necessary removing earlier versions as the process went along)
Apache 2.2, and Subversion.
Upon configuring Apache 2.2 for PHP, however, I'm now running into
trouble. In order to make PHP4 work under Apache 2.2 I built
/usr/ports/www/mod_php4 and installed it.
Then I added the following to Apache's httpd.conf file:
[...]
LoadModule php4_module libexec/apache22/libphp4.so
[...]
<IfModule mime_module>
[...]
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Also, some other stuff was tweaked in httpd.conf (though very mildly),
like enabling SSL etc.
Now, upon starting Apache, using 'apachectl start' the following warning
is printed twice:
[Wed Feb 15 15:12:41 2006] [warn] (2)No such file or directory: Failed
to enable the 'httpready' Accept Filter
And the /var/log/httpd-error.log file mentions the following (at the end):
[...]
[Wed Feb 15 15:12:38 2006] [notice] caught SIGTERM, shutting down
[Wed Feb 15 15:12:41 2006] [warn] RSA server certificate is a CA
certificate (BasicConstraints: CA == TRUE !?)
[Wed Feb 15 15:12:41 2006] [warn] RSA server certificate CommonName (CN)
`Olaf Greve' does NOT match server name!?
[Wed Feb 15 15:12:42 2006] [warn] RSA server certificate is a CA
certificate (BasicConstraints: CA == TRUE !?)
[Wed Feb 15 15:12:42 2006] [warn] RSA server certificate CommonName (CN)
`Olaf Greve' does NOT match server name!?
PHP Warning: Function registration failed - duplicate name - bzopen in
Unknown on line 0
PHP Warning: Function registration failed - duplicate name - bzread in
Unknown on line 0
[...]
..............many more similar messages...............
[...]
PHP Warning: Function registration failed - duplicate name -
ob_gzhandler in Unknown on line 0
PHP Warning: Function registration failed - duplicate name -
zlib_get_coding_type in Unknown on line 0
PHP Warning: zlib: Unable to register functions, unable to load in
Unknown on line 0
[Wed Feb 15 15:12:42 2006] [notice] Digest: generating secret for digest
authentication ...
[Wed Feb 15 15:12:42 2006] [notice] Digest: done
[Wed Feb 15 15:12:43 2006] [notice] Apache/2.2.0 (FreeBSD) mod_ssl/2.2.0
OpenSSL/0.9.7c DAV/2 PHP/4.4.2 configured -- resuming normal operations
So it starts, but it seems pretty much all PHP extensions are doubly
declared!
When calling phpinfo, the modules do show up as expected, but as soon as
one tries to use e.g. the 'header()' function in PHP (or quite a few
other PHP functions for that matter), nothing seems to happen in the
browser, and the /var/log/httpd-error.log file mentions the following:
[...]
[Wed Feb 15 15:19:29 2006] [notice] child pid 27728 exit signal
Segmentation fault (11)
And a similar message is written to /var/log/messages, being:
[...]
Feb 15 15:19:28 aceshuttle kernel: pid 27728 (httpd), uid 80: exited on
signal 11
I suspect something went wrong in the way I try to use PHP. Basically, I
first removed the installed /usr/ports/lang/php4 port, then built and
installed the /usr/ports/www/mod_php4 port, and then added various
php4-extensions, using the /usr/ports/lang/php4-extensions port (I
suspect the extensions to cause the problem).
Does anyone know what could be going on and/or how to properly set up
PHP 4 under Apache 2.2?
Tnx a lot in advance, and cheers!
Olafo
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php