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

Reply via email to