多个开发人员,一个 Apache(带有 mod_perl)

多个开发人员,一个 Apache(带有 mod_perl)

我在一台服务器上有多个开发人员,每个开发人员都有从 SVN 中签出的相同 perl 代码库的副本。

我希望每个开发人员都有自己的子域指向他们自己的代码库副本。

我尝试将 PerlSwitches 放入其中,但似乎不起作用。例如


<VirtualHost dev1.devserver.com>
    PerlSwitches -I/home/dev1/www -w -T
    <Location /webapp/>
        SetHandler  perl-script
        PerlHandler WebApp::Handler
    </Location>
</VirtualHost>

<VirtualHost dev2.devserver.com>
    PerlSwitches -I/home/dev2/www -w -T
    <Location /webapp/>
        SetHandler  perl-script
        PerlHandler WebApp::Handler
    </Location>
</VirtualHost>

谢谢。

答案1

尝试PerlOptions +Parent在 PerlSwitches 指令上方添加...应该强制它分配一个新的解释器池。

链接到 mod_perlPerlOptions 指令

答案2

虽然这篇文章已经很老了,但我还是想指出几点,以防有人在搜索时碰到它。出于上述原因,我认为 mod_perl 是一个生产目标(尽管我个人更喜欢 fastcgi),而不是一个好的开发环境。如果您正在启动一个新的 Perl 项目,您应该考虑在 Plack 之上构建(http://plackperl.org/)或 Catalyst 等现代框架(http://www.catalystframework.org/) 从一开始就被设计为对开发人员友好。

祝你好运!

答案3

我认为这是行不通的。mod_perl 是 apache 进程不可或缺的一部分。您可能需要设置两个单独的 httpd。

无论如何,为了开发目的,最好将它们分开。

答案4

您可能需要单独安装 Apache,如前所述。您可以使用 IP 别名、主机名为每个开发人员提供一个 IP,让 Apache 在默认端口上应答,或者仅将 Apache 绑定到最适合您的非标准端口。

您也许能够使用 su exec 到达某个地方,但是我认为它只适用于 CGI 模式,因此如果您需要 mod_perl 它将对您没有帮助。

相关内容