Thanks for pointing me in that direction. While Perl did not work as
you suggested (produced error 'no Perl handler specified'), it did cause
me to grep for this error message, and it is in file
src/modules/perl/modperl_cmd.c. I was able to get some information from
that code: mod_perl wants directive of the form
Perl handler=Some::Handler
where Some::Handler actually looks like a valid handler, i.e. has a
subroutine called handler(). The module is compiled and handler() is
called during config parse time. Unfortunately, I could not figure out
how to set Apache directives from that subroutine. Simply setting global
$ServerAdmin does not produce the desired effect. Is there a global
Apache config namespace or hash?
Also, my httpd.conf has things like this:
Perl
$PerlConfig =
VirtualHost _default_:$ssl_port
# some directives here.
/VirtualHost
;
/Perl
I am at a loss as to how I'd go about replicating these dynamically
generated directives in the new mod_perl model.
Eagerly waiting for suggestions,
- Dmitri.
On 8 Jan 2003, Philippe M. Chiasson wrote:
On Wed, 2003-01-08 at 00:56, Dmitri Tikhonov wrote:
Hi,
Simply put, there is a small difference in behaviour (bug) in apache's
config parsing code. For now, just put
Perl instead of Perl
Apache assumes containers to always have a value argument, like in
Foo /var.
Will eventually be fixed though.
I am in the process of converting to Apache2/mod_perl2. My old httpd.conf
file contains these lines (stuff in the middle omitted):
-
LoadModule perl_module /usr/libexec/mod_perl.so
Perl
$ServerAdmin = 'admin@'.`hostname`;
/Perl
-
After LoadModule directive, I added this line:
-
PerlRequire /etc/httpd/conf/startup.pl
-
(taken straight from ./docs/user/config/config.pod of mod_perl
distribution) and uncommented 'use Apache::compat' line.
When I start apache, I see this error:
-
[root@audrey conf]# /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf
Syntax error on line 90 of /etc/httpd/conf/httpd.conf:
Perl directive missing closing ''
[root@audrey conf]#
-
I only found this recent thread --
http://www.mail-archive.com/dev@perl.apache.org/msg03485.html -- I think
it talks about Perl directive support not being finished (?) Is that
correct? Documentation on Perl section is empty
(http://perl.apache.org/docs/2.0/user/config/config.html#C_E_lt_PerlE_gt___Sections).
I have no idea what's going on. What am I missing? Is there another set
of documentation that explains this behavior?
My setup: apache 2.0.43, mod_perl 1.99_07.
Thanks in advance.
- Dmitri.
Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5
(122FF51B/C634E37B)
http://gozer.ectoplasm.org/F9BF E0C2 480E 7680 1AE5 3631 CB32 A107
88C3 A5A5
Q: It is impossible to make anything foolproof because fools are so
ingenious.
perl
-e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/print||$$++redo}'