That would explain :)I would consider it a bug, but mod_perl (through the current release) populated %ENV when the first Perl*Handler runs, which may have been before or after translation (which is where path_info becomes known). if you specifically move that PerlInitHandler to a PerlHeaderParserHandler I'd suspect at PATH_INFO would magically appear.
Another thing: In order to make my application to run, for the moment I use Apache::compat as follows:
PerlModule Apache2 PerlModule Apache::compat PerlOptions +GlobalRequest PerlOptions +SetupEnv
Shouldn't PerlOptions +GlobalRequest +SetupEnv be set by default when using Apache::compat?
It is, after all, the default behavior when using mp1.
Also, shouldn't Apache::compat 'use' Apache2 to make the 'PerlModule Apache2' unnecessary?
This sounds very sensible. After all Perl*Handler are supposed to use the mod_perl API where ModPerl::Registry scripts aren't. Although it would be nice to have the option to populate %ENV twice: once before the first Perl*Handler and once before the response phase.this behavior has been changed in CVS, so in 1.99_13 everything ought to work as expected. However, in 1.99_13 %ENV is only set up right before the PerlResponseHandler, so CGI variables like PATH_INFO and REMOTE_USER will not be present in Perl*Handlers at all - you'll need to use the API to get to them.
Thanks, Jean-Michel.
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html