*within a <Directory>
On Wed, Jul 15, 2015 at 8:12 PM, John Dunlap <[email protected]> wrote:
> I'm also using a virtual host, though I place my PerlSetVar without a
> <Directory>. This is the code that I use to extract them:
>
> foreach my $apache_key (CORE::keys %{$apache->dir_config}) {
> $literals{$apache_key} = $apache->dir_config->{$apache_key};
> }
>
> In this example, $apache is an instance of Apache2::RequestRec
>
> On Wed, Jul 15, 2015 at 8:07 PM, Jim Garrison <[email protected]> wrote:
>
>> I have the following config
>>
>>
>> > <VirtualHost [redacted]:80>
>> >
>> > ...
>> >
>> > PerlOptions +Parent
>> > PerlSwitches -T -w -I/home/pdxep/gallery
>> >
>> > PerlModule Apache2::Reload
>> > PerlModule Album
>> > PerlModule env
>> >
>> > <Location /gallery>
>> >
>> > PerlInitHandler Apache2::Reload
>> >
>> > PerlSetVar app_dir /var/webapp
>> > PerlSetVar template_dir /templates
>> > PerlSetVar albums_dir /albums
>> > PerlSetVar static_url /static
>> > PerlSetVar albums_url /albums
>> >
>> > SetHandler perl-script
>> > PerlResponseHandler Album
>> >
>> > </Location>
>> >
>> > <Location /env>
>> > SetHandler perl-script
>> > PerlResponseHandler env
>> > </location>
>> >
>> > </VirtualHost>
>>
>> My handler script (Album.pm) retrieves the variables with
>>
>> my $s = Apache2::ServerUtil->server;
>> my $app_dir = $s->dir_config('app_dir');
>> my $template_dir = $app_dir . $s->dir_config('template_dir');
>>
>> However it's getting empty strings for the values. This was working
>> when the PerlSetVar directives were outside the VirtualHost block.
>>
>> According to the documentation
>>
>>
>> https://perl.apache.org/docs/2.0/user/config/config.html#mod_perl_Directives_Argument_Types_and_Allowed_Location
>>
>> PerlSetVar is scoped "DIR" meaning it can appear in Directory,
>> Location or Files blocks. What am I doing wrong?
>>
>> --
>> Jim Garrison ([email protected])
>> PGP Keys at http://www.jhmg.net RSA 0x04B73B7F DH 0x70738D88
>>
>
>
>
> --
> John Dunlap
> *CTO | Lariat *
>
> *Direct:*
> *[email protected] <[email protected]>*
>
> *Customer Service:*
> 877.268.6667
> [email protected]
>
--
John Dunlap
*CTO | Lariat *
*Direct:*
*[email protected] <[email protected]>*
*Customer Service:*
877.268.6667
[email protected]