Преждевременный конец заголовков сценариев - что, я понятия не имею!
-
02-10-2019 - |
Вопрос
Я стараюсь выполнить простой скрипт PERL на моем сервере, и я получаю внутренний сервер 500, и когда я проверяю журналы ошибок, он показывает:
Premature end of script headers: test.pl
Вот сценарий Perl:
#!/usr/bin/perl -w
print "Content-type: text/plain\n\n";
print "testing...\n";
Мой cgi-bin
Папка имеет разрешения 0755. Сам скрипт также составляет 0755. Сценарий принадлежит Apache и его в группе Apache. Сценарий работает нормально через командную строку.
В чем проблема и как я могу это исправить?!
Спасибо всем за помощь!
Обновлять
Интересная находка в Suexec:
2010-09-14 17:38:28]: uid: (10001/som) gid: (2522/2522) cmd: test.pl
[2010-09-14 17:38:28]: target uid/gid (10001/2522 or 2521) mismatch with directory (48/0) or program (48/0)
Но мой cgi -folder такой же, как и сценарий test.pl - он относится к другому каталогу?
Решение
Есть много хороших предложений по устранению неполадок для сценариев Perl, дающих это сообщение об ошибке на Perlmonks: Начни здесь. Анкет Я не вижу никаких конкретных ошибок в вашем скрипте, и похоже, что вы освещали разрешения на файл, поэтому я бы начал с предложений по конфигурации Apache.
Другие советы
Много хорошего совета: Как я могу устранить сценарий Perl CGI.
Обновление, увидев ваше сообщение об ошибке Suexec: Похоже, вашему серверу нужна программа CGI, которая принадлежит тому же пользователю, что и в каталоге. Попробуйте изменить право собственности на файл.
Используйте модуль CGI, например
use CGI qw/:standard/; $q = CGI->new; print $q->header('text/html'); print "testing...\n";