On 20 Oct 2017 11:17, André Warnier (tomcat) wrote:
On 20.10.2017 10:50, Ben RUBSON wrote:
On 20 Oct 2017 10:38, André Warnier (tomcat) wrote:
On 19.10.2017 22:02, John Dunlap wrote:
To piggy back onto this question, what is the best way to do this such
that the values of
the variables are different for every virtual host? In our model, all
virtual hosts shared
the same interpreter pool but we need to have different configuration
variables on a per
virtualhost basis. Currently, we are using PerlSetVar for this purpose.
And that seems the right way to me.
What about a startup file, as proposed by Adam, which would return
John's configuration
variables according to $ENV{'SERVER_NAME'} ? (using a switch/case for
example)
Each virtualhost would then have its own configuration variables, having
a uniq startup
file for the whole server.
Would it be more performant than the PerlSetVar solution ? (doc
sometimes warns about
PerlSet* performance)
I believe that there is much more of a performance hit, when asking the
server to set up an environment ($ENV) for sub-processes, than via the
PerlSetVar mechanism.
(...)
In comparison, the mechanism involving the environment has to set up this
environment repeatedly (at least each time a new Apache sub-process is
started).
Thank you for your deeply detailed answer André !
I think mod_perl already sets $ENV by default, at least $ENV{'SERVER_NAME'}
is set.
Is there an additional cost to simply read $ENV{'SERVER-NAME'} ?
Goal would then be to set another variable according to it.
(that said, there is also $s->server_hostname() to retrieve server name)
It seems much more maintainable (and documentable) to have everything in
one place.
I agree :)
Thank you !
Ben