对于Web应用程序,使用非系统perl的推荐方法是什么?

我想在我的Web服务器上运行一个Catalyst应用程序,它有系统perl v5.10.我想至少使用v5.12 for app.,我不想干涉系统perl.

我们的系统管理员坚持认为该应用程序.由非shell用户运行(例如“nobody”)

我知道我可以使用perlbrew来使用非系统perl进行开发,但我不确定运行实时版本的最佳方法是什么.人们如何建议处理这种情况?

解决方法

由于您熟悉perlbrew,您仍然可以使用它来安装Perl.
perlbrew install 5.16.1 --as=5.16.1t -Dusethreads

您只需确保提供适当的权限.假设您的$PERLBREW_ROOT是/ home / djh / perl5 / perlbrew(认值):

chmod a+x /home/djh/
chmod a+x /home/djh/perl5/
chmod a+x /home/djh/perl5/perlbrew/
chmod a+x /home/djh/perl5/perlbrew/perls/
chmod -R a+rX /home/djh/perl5/perlbrew/perls/5.16.1t/  # Capital "X"!!!

然后在脚本中使用以下shebang行:

#!/home/djh/perl5/perlbrew/perls/5.16.1t/bin/perl

但也许你不想在家里.如果是这样,这就是你可以做的:

cd /tmp
wget http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/perl-5.16.1.tar.bz2
tar xvjf perl-5.16.1.tar.bz2
cd perl-5.16.1
sh Configure -des -Dprefix=/opt/perls/5.16.1t -Dusethreads
make test

sudo mkdir /opt/perls/5.16.1t
sudo chown djh:djh /opt/perls/5.16.1t
make install

安装程序将正确设置权限.你所要做的就是将shebang设置为

#!/opt/perls/5.16.1t/bin/perl

(“t”是我对线程构建的约定.如果你不想要线程支持,请删除-Dusethreads.)

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些