在运行在 ubuntu 16.04 上的 mod_perl 应用程序中,一段时间后一切正常(几天),我们在错误日志中收到一条致命消息:
failed to resolve handler
MyHandler::ModPerl20
Can't locate loadable object for module main in @INC
MyHander::ModPerl20 在位置 block 中定义
<Perl>
unshift @INC, '/path/to/my/code';
</Perl>
<Location ~ "/imp($|/)">
SetHandler modperl
PerlResponseHandler MyHandler::ModPerl20
</Location>
ubuntu Perl 版本是 5.22。 Apache 2.4
这可能是问题吗?
http://blog.feature-addons.de/2016-05-15-otrs-apache-mod-perl-perl-5-22
任何想法如何解决这一问题?我真的必须设置 nginx/uwsgi 吗?
最佳答案
确保 @INC
设置正确,以便找到 MyHandler::ModPerl20
所在的路径已安装(我认为发生的情况是,当 Apache 回收一些 child 时,重新开始的 child 没有正确的 @INC
值,因此不再找到您的模块)。
尝试添加一个PerlSwitches -I/your/path/for/myhandler/
在 httpd.conf 中查看它是否解决了您的问题。
如果情况有所改变,请查看 Adjusting @INC在 modperl 文档中查看所有详细信息。
关于apache - 无法在 @INC 中找到模块 main 的可加载对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768004/