Re: Which is best compression for Apache 2.2.9/Mod_perl 2.0.4
On Sat, Jul 25, 2009 at 4:41 AM, Shibi NS wrote: > Which is best compression for Apache 2.2.9/Mod_perl 2.0.4 application - > mod_gzip or mod_deflate ? . Have any idea of recent comparisons. mod_deflate replaced mod_gzip for apache 2. - Perrin
Re: mod_perl / CGI.pm and 'our' variables
2009/7/21 Tomáš Bažant : > i'm writing a web application using %SUBJ% and would like to set 'our > $dbh = ...' so that i do not need to pass db handler as an argument to > functions in different packages every time i need. but this 'global' > variable is not seen inside imported package as $::dbh (as it is in > normal non-mod_perl application). The scoping of variables is not changed by mod_perl. When you declare a package variable, you should be able to see it from other packages, but you won't be able to refer to it as $dbh except in the package where you declared it. Example: package Foo; our $dbh; $dbh->ping; # works package Bar; $dbh->ping; # fails You can still use the fully-qualified name to get at it: $Foo::dbh. - Perrin
Issue with Apache2::Request
Hi. Background : [Mon Jul 27 22:23:35 2009] [notice] Apache/2.2.9 (Debian) DAV/2 mod_jk/1.2.26 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal operations /usr/sbin/apache2: symbol lookup error: /usr/lib/perl5/auto/APR/Request/Apache2/Apache2.so: undefined symbol: apreq_handle_apache2 That happens apparently as soon as a module tries to "use" Apache2::Request. Apache and mod_perl run fine as long as I don't use Apache2::Request. I get the same error, whether Apache 2.2.9 is MPM-prefork or MPM-worker. The installation/de-installation/re-installation of the Debian modules brings up nothing special : Setting up libapreq2 (2.08-5+b1) ... Setting up libapache2-mod-apreq2 (2.08-5+b1) ... Setting up libapache2-request-perl (2.08-5+b1) ... Any idea anyone ? Thanks in advance. P.S. If the answer was to be "go ask in a Debian forum", and anyone happened to know a relevant one, I'm a taker for a ref also. Additional info : # perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=linux, osvers=2.6.26-1-vserver-amd64, archname=x86_64-linux-gnu-thread-multi uname='linux excelsior 2.6.26-1-vserver-amd64 #1 smp sat nov 8 20:24:14 utc 2008 x86_64 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.3.2', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0 gnulibc_version='2.7' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Jan 1 2009 15:42:01 @INC: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .
Re: Issue with Apache2::Request
On Mon, Jul 27, 2009 at 2:44 PM, André Warnier wrote: > Hi. > > Background : > > [Mon Jul 27 22:23:35 2009] [notice] Apache/2.2.9 (Debian) DAV/2 > mod_jk/1.2.26 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal > operations > /usr/sbin/apache2: symbol lookup error: > /usr/lib/perl5/auto/APR/Request/Apache2/Apache2.so: undefined symbol: > apreq_handle_apache2 I think you may need this line in your httpd.conf: LoadModule apreq_modulemodules/mod_apreq2.so > > That happens apparently as soon as a module tries to "use" Apache2::Request. > > Apache and mod_perl run fine as long as I don't use Apache2::Request. > > I get the same error, whether Apache 2.2.9 is MPM-prefork or MPM-worker. > The installation/de-installation/re-installation of the Debian modules > brings up nothing special : > Setting up libapreq2 (2.08-5+b1) ... > Setting up libapache2-mod-apreq2 (2.08-5+b1) ... > Setting up libapache2-request-perl (2.08-5+b1) ... > > Any idea anyone ? > > Thanks in advance. > > P.S. If the answer was to be "go ask in a Debian forum", and anyone happened > to know a relevant one, I'm a taker for a ref also. > > > Additional info : > > # perl -V > > Summary of my perl5 (revision 5 version 10 subversion 0) configuration: > Platform: > osname=linux, osvers=2.6.26-1-vserver-amd64, > archname=x86_64-linux-gnu-thread-multi > uname='linux excelsior 2.6.26-1-vserver-amd64 #1 smp sat nov 8 20:24:14 > utc 2008 x86_64 gnulinux ' > config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN > -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr > -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 > -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 > -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 > -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 > -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 > -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl > -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm > -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 > -Dd_dosuid -des' > hint=recommended, useposix=true, d_sigaction=define > useithreads=define, usemultiplicity=define > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN > -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64', > optimize='-O2 -g', > cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe > -I/usr/local/include' > ccversion='', gccversion='4.3.2', gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='cc', ldflags =' -L/usr/local/lib' > libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 > libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt > perllibs=-ldl -lm -lpthread -lc -lcrypt > libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0 > gnulibc_version='2.7' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' > cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV > PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL > USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES > USE_PERLIO USE_REENTRANT_API > Built under linux > Compiled at Jan 1 2009 15:42:01 > �...@inc: > /etc/perl > /usr/local/lib/perl/5.10.0 > /usr/local/share/perl/5.10.0 > /usr/lib/perl5 > /usr/share/perl5 > /usr/lib/perl/5.10 > /usr/share/perl/5.10 > /usr/local/lib/site_perl > . >
Re: Issue with Apache2::Request
Fred Moyer wrote: On Mon, Jul 27, 2009 at 2:44 PM, André Warnier wrote: Hi. Background : [Mon Jul 27 22:23:35 2009] [notice] Apache/2.2.9 (Debian) DAV/2 mod_jk/1.2.26 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal operations /usr/sbin/apache2: symbol lookup error: /usr/lib/perl5/auto/APR/Request/Apache2/Apache2.so: undefined symbol: apreq_handle_apache2 I think you may need this line in your httpd.conf: LoadModule apreq_modulemodules/mod_apreq2.so Damn ! I love these lists ! Thanks Fred, that was it. Problem solved. I just spent a day trying to figure out why that server was different from all the others where it works. Apparently, for once the Debian install procedure fails to do that by itself. One gets complacent with these "apt-get install" things. Thus for reference by others : On Debian Lenny, an "apt-get install libapache2-request-perl" (install of Apache2::Request) - does install the module mod_apreq2.so in modules/ - creates a config file "apreq.load" in /etc/apache2/mods_available containing the proper line LoadModule apreq_module /usr/lib/apache2/modules/mod_apreq2.so but /does not/ install a link to it in /etc/apache2/mods_enabled. That, you have to do yourself by the command ap2enmod apreq After that, it gets loaded properly at Apache restart, and the ugly message above disappears.