首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过自编译的Perl和mod_perl使用供应商Apache?

如何通过自编译的Perl和mod_perl使用供应商Apache?
EN

Stack Overflow用户
提问于 2008-09-17 02:59:28
回答 3查看 1.9K关注 0票数 5

我想使用苹果或RedHat的内置Apache,但我想使用Perl5.10和mod_perl。完成这一任务的最小干扰方式是什么?我希望为供应商的Apache、dav、php等提供免费的安全补丁,但我非常关心我使用的Perl版本以及@INC路径中的内容。我不介意编译我自己的mod_perl。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-17 13:19:38

  1. 按照mod_perl文档中的任何特殊说明构建您的Perl5.10版本。告诉Perl配置器在一些非标准的地方安装,比如/usr/local/perl/5.10.0
  2. Use针对你的发行版的Apache构建一个共享库(或者动态的,或者.so) mod_perl的指令,但是要确保你使用你的perl版本运行Makefile.PL:

/usr/ APXS=/usr/bin/apxs

  • Install /perl/5.10.0/bin/perl Makefile.PL本地并像正常一样配置mod_perl。

在完成第一步之后,更改路径可能会有所帮助,这样您就不会意外地搞不清楚您使用的是哪个版本的Perl:

代码语言:javascript
复制
export PATH=/usr/local/perl/5.10.0/bin:$PATH
票数 5
EN

Stack Overflow用户

发布于 2008-09-17 03:36:08

你会想要研究一下mod_so

票数 1
EN

Stack Overflow用户

发布于 2008-09-17 04:34:34

我以前也这么做过。它不是很漂亮,但它是有效的,特别是因为供应商perl通常有2-3年的历史。

我从创建自己的perl RPM开始,它将perl安装到不同的位置,比如/opt/。这是非常直接的。我之所以开始这样做,主要是因为我不希望在升级/安装新模块时,使用perl的系统实用程序崩溃。我不得不修改所有脚本以在顶部指定#!/opt/bin/perl,有时我甚至尝试使用路径以确保我的perl排在第一位。

接下来,我抓取了一个mod_perl源代码RPM,并将其修改为使用我的/opt/bin/perl而不是/usr/bin/perl。我无法访问我所做的更改,因为它是在不同的演唱会上。我花了点时间才弄明白。

它确实起作用了,但我不是一个RPM向导,所以依赖检查并没有那么好地工作。例如,我可以卸载我的自定义RPM并破坏所有东西。这对我来说不是什么大事,所以我离开了。

我还混合了RPM和CPAN安装的模块(我提到过我们用自己的代码构建了自己的自定义CPAN镜像吗?)这也有点脆弱。再说一次,我没有足够的资源(例如,时间)来弄清楚如何使cpan2rpm使用我的perl,而不会导致RPM冲突。

如果我可以再做一次,我会创建一个自定义的5.10Perl RPM,并替换掉系统perl。然后,我将使用cpan2rpm为我的软件创建所需的RPM包,并编译我自己的mod_perl RPM。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/79493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档