Jestem pewien, że ktoś mógłby odpowiedzieć na to bardzo szybko, ale jestem po prostu nowy w perl ...Dlaczego moje CGI Perl narzeka na "Przedwczesne zakończenie nagłówków skryptu"?
Próbuję zmodyfikować demarc (proste narzędzie do monitorowania sieci), aby wykonać wywołanie systemowe do prostego scenariusz. Sam skrypt nic nie robi, po prostu próbuję wykonać "proof-of-concept", ponieważ ciągle dostaję wewnętrzny błąd serwera. Uprawnienia do skryptu zostały ustawione na 777. Kiedy skomentuję wywołanie system(), wszystko jest w porządku. Więc to sprawia, że podejrzewam, że to wywołanie system() tam, gdzie wystąpił błąd. Próbowałem również exec(), ale to też nie działało. Błąd nie może znajdować się w samym skrypcie, ponieważ zawiera tylko "test" echa.
Czy brakowało mi uprawnień lub czy istnieje inny sposób wykonania tej pracy? Każda rada byłaby doceniona.
sub generate_ticket {
my @args = ("$base_path/test.pl");
exec(@args);
}
ten nazywany jest gdzieś w pliku tak:
} elsif ($FORM{'delete_type'}=~/generate/) {
my $message = &generate_ticket($delete_array_ref);
#&ack_events($delete_array_ref);
$events_deleted = (@$delete_array_ref);
&push_message("<FONT COLOR=red><B>Result: $message.</B></FONT>");
}
test.pl:
#!/usr/bin/perl
print "Test";
dziennika błędu: [Mon 30 listopada 14:58:22 2009] [ błąd] [klient 127.0.0.1] Przedwczesne zakończenie nagłówków skryptu: demarc, referer: http://localhost/dm/demarc?td=show_events&limit=60&sid=35
Pomóż nam pomóc, informując nas, co argumenty do systemu() lub exec() wywołuje się. –
pokaż nam kod. –
Zmodyfikowałem mój wpis, aby dodać przykładowy kod ... – EDJ