Здравствуйте!
Не помогут ли мне уважаемые участники форума решить одну проблему. Она связана с запуском 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-форума. Отвечайте только в том случае, если ЗНАЕТЕ ответ на вопрос.
Заранее вам благодарен!
LinuxForum.Fans
Обновление интерпретатора Perl и запуск скрипта в Web-браузере
Автор: sitescout
2 сообщений
3703 просмотров
Косяк в настроках веб-сервера, т.к. когда вы не указываете путь к perl возникает internal error у сервера.
Надо бы глянуть логи /var/log/error.log(или как он у вас называется) когда выдаётся 500 Internal Server Error
Войдите или зарегистрируйтесь, чтобы ответить.