作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Fedora 21 系统上安装了其他版本的 Perl。在 PATH 上,我的自定义 Perl (5.10.0) 优先于发行版的默认 Perl (5.18.4)
user$ perl -v
> This is perl, v5.10.0 built for x86_64-linux
root# perl -v
> This is perl, v5.10.0 built for x86_64-linux
但是,当在 Apache 服务的脚本中打印 Perl 版本时,它似乎使用了“错误”的版本:
5.018004
如何指示 Apache 使用特定版本的 Perl?
最佳答案
当使用纯 CGI 时,操作系统(通过 #! 行)负责选择解释器。正如我们已经确定的那样,shebang 指向了错误版本的解释器。
最简单的方法是编辑它。如果您需要相同的脚本根据调用上下文使用两个不同的 perl 版本,您可以在 shebang 中使用类似 #!/usr/bin/env perl
的东西来让它尊重环境,然后更改 Apache 的 PATH
变量。
如果您不能编辑 shebang,如果您不介意为整个网络服务器使用这个特定版本,则可以选择通过 mod_perl
(确保您根据所需版本编译它) .
另一种方法是在某种容器(chroot、lxc、docker 或仅使用挂载命名空间)中运行网络服务器,以便您的 /usr/bin/perl
指向其他版本口译员。
关于perl - 如何为 apache2 mod_cgi 指定 Perl 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30146633/
我是一名优秀的程序员,十分优秀!