首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bugzilla需要用于Apache2.4的mod_perl.so

bugzilla需要用于Apache2.4的mod_perl.so
EN

Stack Overflow用户
提问于 2016-03-02 17:14:39
回答 1查看 1K关注 0票数 2

环境:

代码语言:javascript
复制
    SuSE SLES11 SP4, Kernel 3.0.101-68-default
    http-Server: apache 2.4.18 with OpenSSL 1.0.2e
    MySQL 5.6.29

此外,还可以:

代码语言:javascript
复制
    SLES 11 preinstalled SW:
    Perl 5.10.0 with mod_perl v2.000004 and
    bugzilla 4.2.4 being running before.

或从源代码构建的新版本,例如

代码语言:javascript
复制
    perl 5.22.1 and mod_perl 2.0.9 and bugzilla -5.0.2

起始位置:

SLES11预装的http-server Apache2.2和OpenSSL 0.9.8不支持目前所需的TLS1.2。因此,带有上述OpenSSL的Apache2.4被编译、构建和安装。这运行得很好。要像以前一样运行bugzilla,需要perl和mod_perl。虽然努力了,但没有一次尝试成功。既不是预装的perl / mod_perl,也不是从源代码构建的版本!

尝试1:

将mod_perl.so从/usr/lib64/apache2/复制到Apache2.4安装的模块目录,并在http.conf中加载模块。这会导致错误:

代码语言:javascript
复制
    modules/mod_perl.so: undefined symbol: ap_log_error.

因此,按照这种方式,可能会出现更多错误!

尝试2:

使用预安装的perl 5.10.0和源代码mod-perl 2.0.9构建和安装,使用:

代码语言:javascript
复制
    perl Makefile.PL MP_APXS=/opt/apache/http/bin/apxs

这将导致:

代码语言:javascript
复制
    Please repair your Module::CoreList at lib/Apache2/Build.pm line 50.
    BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 65.
    Compilation failed in require at Makefile.PL line 38.
    BEGIN failed--compilation aborted at Makefile.PL line 38.

显然,不兼容的perl版本存在问题。不走!

尝试3:

编译、构建和安装perl-5.22.1

事实上,这从来不是一个真正的问题,所有可能的突变都尝试过,导致使用make test的所有测试都通过。make install也是可以的,但是构建mod-perl失败了,原因是:

代码语言:javascript
复制
    [  error] Using Perl 5.022001 w/o ithreads and httpd-2.4.
    [  error] Failed requirements:
    [  error]   - Perl built with ithreads (build perl with -Duseithreads)

这是一个令人沮丧的练习,因为即使使用-Duseithreads,我也会再次得到相同的错误,即使在make clean之后也是如此。最后,在删除源代码之后,从tar和命令中解压:

代码语言:javascript
复制
    ./Configure -Dprefix=/opt/perl -Duseithreads -Accflags=-fPIC

我得到了想要的mod_perl.so。但是,启动apache服务器会导致:

代码语言:javascript
复制
    ./apachectl: line 79:  5760 Segmentation fault      $HTTPD "$@"

我被卡住了!我浪费的时间够多了!有没有人有过这类问题的经验?我很感谢任何有用的提示。

EN

回答 1

Stack Overflow用户

发布于 2016-03-15 18:49:16

这个问题的最佳答案是:不要使用mod_perl!mod_perl似乎会被弃用,而且根本没有办法让它正常工作。使用CGI代替!这是可行的。我的错是忘记了这一点。我使用cgi设置了bugzille 2009。我已经忘记了这个事实,因为它工作得很好。在升级到新版本之前,我再也没碰过它。当mod_php还在使用时,使用cgi和反向代理!

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

https://stackoverflow.com/questions/35742834

复制
相关文章

相似问题

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