PerlSwitches -I

PerlSwitches -I

am 04.09.2009 16:18:34 von Artem Kuchin

I have run into a problem. I want to have my packages
precompiled in apache process with

PerlModule X:Y

X:Y is my own package with is located in the site directory.
The site is a virtual host.

However, this apache also has many other virtual hosts with ALMOST the same
software with a package named X:Y, but a little bit modified.

So, in those virtual hosts i also need PerlModule X:Y

The problem is that mod_perl cannot find X:Y until i specify
PerlSwitches -I/host1/dir

But this works globally and cannot be specified per virtual host. I am
stuck here,
but i need this personalizaed for each virtual host.

Any workaround?

Regards,
Artem

Re: PerlSwitches -I

am 04.09.2009 16:25:23 von Adam Prime

Artem Kuchin wrote:
> I have run into a problem. I want to have my packages
> precompiled in apache process with
>
> PerlModule X:Y
>
> X:Y is my own package with is located in the site directory.
> The site is a virtual host.
>
> However, this apache also has many other virtual hosts with ALMOST the same
> software with a package named X:Y, but a little bit modified.
>
> So, in those virtual hosts i also need PerlModule X:Y
>
> The problem is that mod_perl cannot find X:Y until i specify
> PerlSwitches -I/host1/dir
>
> But this works globally and cannot be specified per virtual host. I am
> stuck here,
> but i need this personalizaed for each virtual host.
>
> Any workaround?

PerlOptions +Parent
http://perl.apache.org/docs/2.0/user/config/config.html#C_Pa rent_

I personally don't have any experience with this, but there are a number
of threads in the archives about it, some of which actually do have
confirmation that people managed to get it working right (IIRC)

Adam

Re: PerlSwitches -I

am 06.09.2009 11:30:43 von aw

Adam Prime wrote:
> Artem Kuchin wrote:
>> I have run into a problem. I want to have my packages
>> precompiled in apache process with
>>
>> PerlModule X:Y
>>
>> X:Y is my own package with is located in the site directory.
>> The site is a virtual host.
>>
>> However, this apache also has many other virtual hosts with ALMOST the
>> same
>> software with a package named X:Y, but a little bit modified.
>>
>> So, in those virtual hosts i also need PerlModule X:Y
>>
>> The problem is that mod_perl cannot find X:Y until i specify
>> PerlSwitches -I/host1/dir
>>
>> But this works globally and cannot be specified per virtual host. I am
>> stuck here,
>> but i need this personalizaed for each virtual host.
>>
>> Any workaround?
>
> PerlOptions +Parent
> http://perl.apache.org/docs/2.0/user/config/config.html#C_Pa rent_
>
> I personally don't have any experience with this, but there are a number
> of threads in the archives about it, some of which actually do have
> confirmation that people managed to get it working right (IIRC)
>
> Adam
>

I believe there may also be a subtle misunderstanding here:
An Apache Virtual Host is not, by itself, a separate process or thread.
All Apache children processes (pre-fork) or threads (worker) are created
equal; they ALL "contain" all virtual hosts. A Virtual Host is only a
"personality" that the child/thread which is handling the current
request adopts temporarily, to handle this current request. At the next
request, the same child/thread may take the personality of another
Virtual Host.
The only way to "personalise" something "for this Virtual Host", is to
make it totally dynamic, executed on a per-request base.

Re: PerlSwitches -I

am 07.09.2009 05:40:28 von Foo JH

I'm not sure if I remember right, but you may want to check out the
PerlOptions +Parent
option.

http://modperlbook.org/html/24-5-6-3-Parent.html

Artem Kuchin wrote:
> I have run into a problem. I want to have my packages
> precompiled in apache process with
>
> PerlModule X:Y
>
> X:Y is my own package with is located in the site directory.
> The site is a virtual host.
>
> However, this apache also has many other virtual hosts with ALMOST the
> same
> software with a package named X:Y, but a little bit modified.
>
> So, in those virtual hosts i also need PerlModule X:Y
>
> The problem is that mod_perl cannot find X:Y until i specify
> PerlSwitches -I/host1/dir
>
> But this works globally and cannot be specified per virtual host. I am
> stuck here,
> but i need this personalizaed for each virtual host.
>
> Any workaround?
>
> Regards,
> Artem
>
>