当前位置:  开发笔记 > 编程语言 > 正文

如何使用perlbrew管理针对Web应用程序的perl安装?

如何解决《如何使用perlbrew管理针对Web应用程序的perl安装?》经验,为你挑选了2个好方法。

我一直在使用perlbrew来管理Linux Fedora笔记本上的多个perl版本.我使用它非常有益,主要使用App :: cmd运行命令行脚本.

我现在想要使用安装在我的不同的perls中运行使用CGI :: Application编写的Web应用程序$HOME.我熟悉$HOME使用Apache 运行Perl Web应用程序user_dir或创建虚拟主机,但我无法想出一种简洁的方法来集成这个和perlbrew管理的perls.具体来说,我需要帮助理解并找到这些问题的答案:

    如何在perlbrew下安装mod_perl?

    假设已经完成,我如何配置我的VirtualHost,以便它获取当前的正确perl?

    如果这是不可能的,(我怀疑)我至少可以使用本地安装来运行vanilla CGI吗?

感谢您的关注.



1> brian d foy..:

我认为这不是一个很好用的perlbrew,它在自己的目录下移动符号链接.诀窍是切换mod_perl模块.请记住,mod_perl在perl的主要版本之间将是二进制不兼容的,并且你必须针对你想要使用的每个perl(和apache)版本针对apache编译它.

perlbrew真的为你做了两件大事:

安装perl,这很容易自己做.

切换符号链接,以便perl您可以使用任何版本.

如果你放弃了最后一个,perlbrew对你来说并没有那么多.我不认为符号链接功能特别有价值.

我认为perlbrew很适合它,但是当你开始做有限范围之外的事情时,是时候不使用了它.它应该是一个节省你一些时间和头痛的工具,所以如果它没有实现这个目标,它不适合你的情况.

在这种情况下,我支持单个大型Web应用程序,我给它自己的perl安装,我不会让任何其他东西使用.

对于您的其他问题:

    降价占位符

    你不应该配置任何VirtualHost东西.如果您使用的是mod_perl,那么perl已经在那里,您无法选择perl.如果你正在使用CGI的东西,你在shebang线上指定perl.你必须确保apache选择正确的库目录,但我认为perlbrew会处理它.您可能必须SetEnv在httpd.conf中使用或类似的东西.

    对于vanilla CGI,只需指向默认perlbrew版本的右侧(符号链接)路径即可.CGI程序将使用路径所指向的perl.



2> diocles..:

请参阅brian d foy的回答,了解为什么不期望使用perlbrew在mod_perl版本之间切换.如果在mod_perl下需要多个不同的Perl版本,我还希望你需要运行多个Apache服务器.

但是,使用perlbrew作为构建Perl的简单方法是恕我直言,这是一个有效的事情,并且有很少的指令可用于如何在perlbrew下运行mod_perl.

首先通过传递-Duseshrplib标志来确保perl是通过共享库支持构建的(否则在64位系统上,您将获得关于-fPIC的令人困惑的构建失败):

perlbrew install perl-5.16.3 -Duseshrplib

为您的系统安装开发Apache库.在Debian上,这取决于您使用的Apache MPM.对于prefork MPM:

sudo apt-get install apache2-prefork-dev

或者对于工人MPM:

sudo apt-get install apache2-threaded-dev

然后你需要一些选项来构建和安装mod_perl2到正确的位置.请注意,这意味着cpanm将无法构建它,但您可以使用它来获取源:

cpanm mod_perl2  # fails
cd ~/.cpanm/latest-build/mod_perl-2.0.8/   # adjust mod_perl version

相应地调整下面的Perl版本.(MP_APXS选项是为基于Debian的系统提供正确的路径,您可能不需要它.)

perl Makefile.PL MP_APXS=/usr/bin/apxs2 \
                 MP_AP_DESTDIR=$HOME/perl5/perlbrew/perls/perl-5.16.3/
make
make install

最后,更改Apache配置文件中的LoadModule行(相应地调整路径):

LoadModule perl_module /perl5/perlbrew/perls//usr/lib/apache2/modules/mod_perl.so

您的mod_perl安装现在将运行您想要的Perl版本.安装所有必需的CPAN模块并开始使用.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有