环境:
SuSE SLES11 SP4, Kernel 3.0.101-68-default
http-Server: apache 2.4.18 with OpenSSL 1.0.2e
MySQL 5.6.29此外,还可以:
SLES 11 preinstalled SW:
Perl 5.10.0 with mod_perl v2.000004 and
bugzilla 4.2.4 being running before.或从源代码构建的新版本,例如
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中加载模块。这会导致错误:
modules/mod_perl.so: undefined symbol: ap_log_error.因此,按照这种方式,可能会出现更多错误!
尝试2:
使用预安装的perl 5.10.0和源代码mod-perl 2.0.9构建和安装,使用:
perl Makefile.PL MP_APXS=/opt/apache/http/bin/apxs这将导致:
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失败了,原因是:
[ 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和命令中解压:
./Configure -Dprefix=/opt/perl -Duseithreads -Accflags=-fPIC我得到了想要的mod_perl.so。但是,启动apache服务器会导致:
./apachectl: line 79: 5760 Segmentation fault $HTTPD "$@"我被卡住了!我浪费的时间够多了!有没有人有过这类问题的经验?我很感谢任何有用的提示。
发布于 2016-03-15 18:49:16
这个问题的最佳答案是:不要使用mod_perl!mod_perl似乎会被弃用,而且根本没有办法让它正常工作。使用CGI代替!这是可行的。我的错是忘记了这一点。我使用cgi设置了bugzille 2009。我已经忘记了这个事实,因为它工作得很好。在升级到新版本之前,我再也没碰过它。当mod_php还在使用时,使用cgi和反向代理!
https://stackoverflow.com/questions/35742834
复制相似问题