Невозможно загрузить cgi-библиотеку в perl-cgi-script

Я пытаюсь запустить perlscript как cgi-Script. Однако включение cgi-библиотеки perl не работает:

# perl -e 'use CGI::Carp qw(fatalsToBrowser);'
Can't locate CGI/Carp.pm in @INC (you may need to install the CGI::Carp module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
#

На старом сервере та же команда не выдает сообщение об ошибке, и сценарии cgi работают правильно.

Это, кажется, проблема perl, а не проблема Apache.

На моем сервере Carp.pm уже установлен по одному из путей, указанных в @INC:

# find /usr -iname 'Carp.pm' -ls
555093613     20 -rw-r--r--   1 root     root        20074 Aug 24 21:47 /usr/lib/x86_64-linux-gnu/perl-base/Carp.pm
382731053     20 -rw-r--r--   1 root     root        20074 Mär 13  2016 /usr/share/perl/5.22.1/Carp.pm
#  

Как мне включить библиотеку cgi. Я использую Ubuntu 16.04 LTS.

1
задан 26 August 2017 в 22:10

2 ответа

Частично отвечаю на это для моего собственного архивирования. Это, кажется, недавняя ошибка, которая связана с нарушенной зависимостью. Я получил похожее сообщение об ошибке при проверке журнала ошибок.

tail -100 /var/log/apache2/error.log
...
 AH01215: Can't locate CGI.pm in @INC (you may need to install the CGI module)
...

После некоторой детективной работы я проследил это до следующей зависимости (извините, я потерял свой источник).

sudo apt-get install libcgi-session-perl
0
ответ дан 26 August 2017 в 22:10

В моем случае эта проблема была вызвана неправильными правами доступа к файлам и каталогам в различных системных каталогах perl5 /. Файлы должны быть доступны для чтения пользователю, под которым работает веб-сервер. Программные файлы (.pl) должны быть исполняемыми. Каталоги должны быть доступны для чтения и поиска.

0
ответ дан 26 August 2017 в 22:10

Другие вопросы по тегам:

Похожие вопросы: