【发布时间】:2017-06-05 16:47:08
【问题描述】:
在运行在 ubuntu 16.04 上的 mod_perl 应用程序中,一段时间后一切正常(几天),我们在错误日志中收到一条致命消息:
无法解析处理程序
MyHandler::ModPerl20在 @INC 中找不到模块 main 的可加载对象
MyHander::ModPerl20 在位置块中定义
<Perl>
unshift @INC, '/path/to/my/code';
</Perl>
<Location ~ "/imp($|/)">
SetHandler modperl
PerlResponseHandler MyHandler::ModPerl20
</Location>
ubuntu Perl 版本是 5.22。阿帕奇 2.4
这可能是问题吗? http://blog.feature-addons.de/2016-05-15-otrs-apache-mod-perl-perl-5-22
任何想法如何解决这个问题?我真的需要设置 nginx/uwsgi 吗?
【问题讨论】:
-
这意味着找不到模块的二进制组件(.so)。你是如何安装 MyHandler::ModPerl20 的?
-
MyHandler::ModPerl20 是我写的一个纯 Perl Handler。它没有任何 .so 文件。几天内它确实可以@相同的安装而没有任何问题。
-
什么是 mod_perl 中 PerResponseHandler 的可加载对象'main'?
-
重启 apache 后。是否再次出现此错误?
-
重启 apache 后,一切正常(这是我们目前使用的解决方法,每个 cron-job 每 24 小时重启一次 apache)。但是我又怕自己犯了一个深埋在心底的“错误”,想知道,我要在哪里寻找自己犯的错误。