为什么perl cgi不编译CPAN模块

问题描述 投票:0回答:1

我的操作系统是Debian Buster。我的cgi-bin在/ var中。 CPAN模块是HTML :: Template,位于cpanm安装的/ perl5 / lib / perl5 / HTML中。我的服务器是Apache2,通过我所做的所有研究似乎都正确配置了(但是某些地方一定有问题)。我的浏览器是Firefox,但我也使用curl进行测试。我可以从localhost / cgi-bin /成功运行不带perl模块的cgi perl脚本。我可以使用./在命令行中使用'use HTML :: Template'来运行perl脚本,并具有完美的HTML输出,但是这是问题,当它们包含perl模块时,无论是浏览器还是curl我都无法从localhost运行它们作为HTML :: Template。

Apache2错误消息是BEGIN失败-在/var/cgi-bin/templateOne.cgi第5行中中止了编译:: /var/cgi-bin/templateOne.cgi[2019年10月16日星期三00:01:23.341309] [cgi:error] [pid 3743] [client :: 1:36728]在标头之前的脚本输出结束:templateOne.cgi

现在脚本的第5行是使用HTML :: Template;

因此它无法找到或编译模块,但是由于该程序可以从命令行正常运行,因此我认为Apache2无法找到该模块。

我尝试使用push(@INC,'// Perl5 / lib / perl5 / HTML');在脚本的开头,但这也不起作用。

任何人有建议

perl module cgi perl-module cpan
1个回答
0
投票

感谢您提供评论。我使用了Grinnz给出的建议,后者指出了“ use lib / path / to / module”的用法通过将use lib语句与Template模块的路径一起用作脚本的第二行,并且在use HTML :: Template语句之前,该脚本可以正常工作。再次感谢。

© www.soinside.com 2019 - 2024. All rights reserved.