Fine prematura delle intestazioni di script - Che cosa, non ne ho idea!
-
02-10-2019 - |
Domanda
provo ad eseguire uno script Perl semplice sul mio server ed ottengo un server interno 500 e quando controllo i log degli errori mostra:
Premature end of script headers: test.pl
Ecco lo script perl:
#!/usr/bin/perl -w
print "Content-type: text/plain\n\n";
print "testing...\n";
La mia cartella cgi-bin
dispone di autorizzazioni di 0755. Lo script stesso è anche 0755. La sceneggiatura è di proprietà di apache e il suo gruppo nel apache. Lo script funziona bene tramite la riga di comando.
Qual è il problema e come posso risolvere questo problema?!
Grazie a tutti per qualsiasi aiuto!
Aggiorna
trovare interessanti in 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)
Ma il mio cgi-cartella è lo stesso dello script test.pl -? È riferisce a un'altra directory
Soluzione
Ci sono un sacco di buoni consigli per la risoluzione dei problemi script Perl dando quel messaggio di errore sul PerlMonks: inizia da qui . Non vedo errori specifici nello script, e sembra di aver coperto i permessi dei file, quindi mi piacerebbe iniziare con i suggerimenti di configurazione di Apache.
Altri suggerimenti
Un sacco di buoni consigli: Come posso Risoluzione dei problemi il mio Perl script CGI .
Aggiornamento dopo aver visto il tuo messaggio di errore suexec: Sembra che il server ha bisogno il programma CGI ad essere di proprietà dello stesso utente come la directory. Provare a cambiare la proprietà del file.
Usa CGI modulo per es.
use CGI qw/:standard/; $q = CGI->new; print $q->header('text/html'); print "testing...\n";