Преждевременный конец заголовков сценариев - что, я понятия не имею!

StackOverflow https://stackoverflow.com/questions/3710338

  •  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";     
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top