I have a script that provides custom error messages that I set up using
the ErrorDocument directive (ie; ErrorDocument 400
/cgi-global/error.pl?error=400&useXML=1). When run under typical mod_cgi
all works as planned and it outputs the proper stuff. When run under
mod_perl it outputs the same but then appends the default ErrorDocument
(ie; ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var)
output on the end so I have effectively two HTML docs on the output page.
The odd part of this issue is this. When it is a 404 error The stock
error doc says that "Additionally, a 404 Not Found error was encountered
while trying to use an ErrorDocument to handle the request" which makes
no sense since the only log entry is "File does not exist:
/var/www/terradev/docs/bad-link". When you use the 500.pl example below
you get "Additionally, a 500 Internal Server Error error was encountered
while trying to use an ErrorDocument to handle the request." despite the
fact that the custom error script did work and output what it was
supposed to and the error logs confirm that.
The setup is plain vanilla on RH 8 and httpd2. The latest patch level of
everything RH8 basically. The config of the cgi-global is:
<Location /cgi-global>
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>
Output of perl -V and httpd -V are below and not that this is a vhost
using named vhosts via the directive "NameVirtualHost *".
If you need anything else let me know since I do not have the script on
my system you set up for posting bug reports. (RH did not include it)
Examples can be seen at http://dev.terranovum.com/cgi-global/500.pl or
http://dev.terranovum.com/bad-link
Thomas Bolioli
PS: Any idea if there will be a replacement for Apache::Status?
#httpd -V
Server version: Apache/2.0.40
Server built: Oct 9 2002 08:01:13
Server's Module Magic Number: 20020628:0
Architecture: 32-bit
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
# perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.18-11smp, archname=i386-linux-thread-multi
uname='linux daffy.perf.redhat.com 2.4.18-11smp #1 smp thu aug 15
06:41:59 edt 2002 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red
Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
-Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads
-Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db
-Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
-Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less
-isr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -march=i386 -mcpu=i686',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
-I/usr/include/gdbm'
ccversion='', gccversion='3.2 20020822 (Red Hat Linux Rawhide
3.2-5)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
libc=/lib/libc-2.2.92.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.2.92'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Sep 1 2002 23:56:49
@INC:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
.
--
-----------------------------------------------------
Terra Novum Research
www.terranovum.com
[EMAIL PROTECTED]
(617) 923-4132
PO Box 362
Watertown, MA 02471-0362
Was it love, or was it the idea of being in love?
-Roger Waters
- Re: mod_perl 2 and problems w/ ErrorDocument Directive Terra Info
- Re: mod_perl 2 and problems w/ ErrorDocument Directive Stas Bekman
- Re: mod_perl 2 and problems w/ ErrorDocument Directiv... Terra Info
- Re: mod_perl 2 and problems w/ ErrorDocument Dire... Terra Info
- Re: mod_perl 2 and problems w/ ErrorDocument ... Stas Bekman
- Re: mod_perl 2 and problems w/ ErrorDocu... Terra Info
- Re: mod_perl 2 and problems w/ Error... Stas Bekman