Stas --

On 2004-02-26, Stas Bekman <[EMAIL PROTECTED]> wrote:
> Mark Stosberg wrote:
>> Hello,
>> 
>> I'm a new modperl user, and I'm trying to figure out the joy that is
>> Apache::Reload.
>> 
>> I keep having an issue where it can't find the modules to reload,
>> apparently due to relative path names. 
>> 
>> In my httpd.conf, I use SetEnv to set the explicit paths I want. 
>> However, it appears that the relative 'use lib' paths that appear 
>> in code have precedence.
>> 
>> It's possible I could remove all these, and only set the path from
>> httpd.conf and my shell environment (for command line module testing).
>> 
>> Is there a simpler way to make Apache::Reload work when there are
>> relative 'use lib' paths in the code?
>> 
>> Since I'm new at this, It's possible I missed some documentation on this
>> topic, and would happily accept a pointer to that if so.
>
> http://perl.apache.org/docs/2.0/api/Apache/Reload.html#Description
>
> ...
> Note that Apache::Reload operates on the current context of @INC. Which means, 
> when called as a Perl*Handler it will not see @INC paths added or removed by 
> Apache::Registry scripts, as the value of @INC is saved on server startup and 
> restored to that value after each request. In other words, if you want 
> Apache::Reload to work with modules that live in custom @INC paths, you should 
> modify @INC when the server is started. Besides, 'use lib' in the startup 
> script, you can also set the PERL5LIB variable in the httpd's environment to 
> include any non-standard 'lib' directories that you choose. For example, to 
> accomplish that you can include a line:
>
>    PERL5LIB=/home/httpd/perl/extra; export PERL5LIB
>
> in the script that starts Apache. Alternatively, you can set this environment 
> variable in httpd.conf:
>
>    PerlSetEnv PERL5LIB /home/httpd/perl/extra

Thank you very much for your prompt and helpful to reply.

Just to add a bit more to this thread:

I did follow this advice about setting up @INC at server startup time.
However, that didn't seem to change my results. What did seem to help
was relying on these declarations exclusively-- I removed my relative
'use lib' calls in the code and had less problems.

        Mark

-- 
http://mark.stosberg.com/ 


-- 
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

Reply via email to