Check the mail archives for this list, there was a thread about using perl and
php together not that long ago. I think that one suggestion was to compile
mod_perl statically with apache, and to load php as a module. Also, you may want
to upgrade your perl to at least 5.6.1, if not 5.8.0. Are you using apache
1.3.26? (anything older has a well-known security exploit). What version of
mod_perl?
Wes
Jon Harris <[EMAIL PROTECTED]> on 09/04/2002
01:17:44 PM
To: [EMAIL PROTECTED]
cc: (bcc: Wesley Sheldahl/Lex/Lexmark)
Subject: Seg Fault with PHP and Perl together
Hi
I inherited a very happy cobalt raq3 with 2 sites using embedded Perl
which work very well. There are about 20 sites on the box. I needed to
get PHP running on the same box, so I made the module, added it into the
httpd.conf and PHP was working fine - Except that it broke the perl sites.
The http error log entry is:
child pid 22610 exit signal Segmentation fault (11)
- the client gets a 'page not found error'.
All I have to do get perl working again is to comment out
LoadModule php4_module /usr/lib/apache/libphp4.so
(and)
AddModule mod_php4.c
and restart httpd, it works fine again, obviously minus the php
Bearing in mind, I am on about page 3 of "O'Reilly's Apache - The
definitive Guide" does anyone know the simplist way I can get it
working? I don't need any sites to use both embperl and php together.
This is a virtual site section in httpd.conf for one of the perl sites
(anonymised) there is also a big <Perl> chunk in the httpd.conf, not
sure if that is relevant here.
*****
<VirtualHost 0.0.0.0>
ServerName thedomain.com
ServerAdmin root
DocumentRoot /home/sites/site42/web
ServerAlias thedomain.com
PerlModule Apache::DBI
PerlModule HTML::Embperl
PerlSetEnv EMBPERL_OPTIONS 8208
PerlSetEnv EMBPERL_ESCMODE 0
RewriteEngine on
RewriteCond %{HTTP_HOST} !^0.0.0.0(:80)?$
RewriteCond %{HTTP_HOST} !^www.thedomain.com(:80)?$
RewriteRule ^/(.*) http://www.thedomain.com/$1 [L,R]
RewriteOptions inherit
#<Files *.htm*>
#SetHandler perl-script
#PerlHandler HTML::Embperl
#Options ExecCGI
#</Files>
AliasMatch ^/~([^/]+)(/(.*))? /home/sites/site42/users/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /home/sites/site42/users/$1/web/$3
# AddHandler server-parsed .shtml
# AddType text/html .shtml
AddHandler cgi-wrapper .cgi
AddHandler cgi-wrapper .pl
</VirtualHost>
*****
It looks like perl and PHP are getting in each others way, should I try
and make a new apache? what order should I do things in? Should I look
for another job? :), I need to get it working quickly and with the
minimum disruption to the server. Every time I try and do things like
this on a RAQ something breaks something else, usually its the GUI and I
get about 50 phone calls.
perl is version 5.005_03, Apache 1.3, PHP 4.21
TIA
Jon Harris
[EMAIL PROTECTED]