LinuxForum.Fans
Тема

Обновление интерпретатора Perl и запуск скрипта в Web-браузере

Автор: sitescout 2 сообщений 3703 просмотров
#32

Здравствуйте!

Не помогут ли мне уважаемые участники форума решить одну проблему. Она связана с запуском Perl-скрипта из адресной строки Web-браузера. (На Linux-компьютере (дистрибутив Fedora 7) установлен Web-сервер Apache.) Код скрипта приведен ниже:

#!/usr/bin/perl

print "Content-type: text/html\n\n";
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->agent("ua/0.1 ");

my $req = HTTP::Request->new(GET => 'http://linuxforum.ru');

my $res = $ua->request($req);

if ($res->is_success) {
print $res->content;
} else {
print 'No answer';
}

Будучи запущенным в адресной строке Web-браузера (на Windows-компьютере), скрипт отображает страницу по указанному адресу (в данном случае стартовую страницу вашего форума.)

При запуске скрипта на Linux-компьютере выяснилось, что интерпретатор Perl не содержит необходимой для работы скрипта библиотеки LWP. Вместо установки необходимых модулей, я решил установить более свежую и полную версию самого интерпретатора. Загрузил с сайта Activestate.com файл архива и выполнил стандартную процедуру распаковки и инсталляции.

Новая версия интерпретатора находится по адресу:

/home/sitescout/ActivePerl-5.8/

В директории “bin” на месте привычного исполняемого файла “perl.exe”, теперь находится ссылка на исполняемый файл (или что-то в этом роде).

Сам скрипт успешно функционирует из командной строки, но наотрез отказывается выдавать заданную страничку в окне Web-браузера.

Если в качестве пути к интерпретатору указано привычное «#!/usr/bin/perl», Web-браузер отображает фразу “No answer”. Если путь к Perl не указан, Web-браузер выводит сообщение об ошибке:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
root@localhost and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.0 (Fedora) Server at localhost Port 80</address>
</body></html>

Проблема в настройках Web-сервера, или в интерпретаторе?

Пожалуйста, помогите решить проблему. Только не советуйте мне "расстаться с Windows-привычками", как это сделал участник одного Linux-форума. Отвечайте только в том случае, если ЗНАЕТЕ ответ на вопрос.

Заранее вам благодарен!

#3041

Косяк в настроках веб-сервера, т.к. когда вы не указываете путь к perl возникает internal error у сервера.
Надо бы глянуть логи /var/log/error.log(или как он у вас называется) когда выдаётся 500 Internal Server Error

Войдите или зарегистрируйтесь, чтобы ответить.