Pregunta

intento ejecutar un simple script de perl en mi servidor y me sale un servidor interno 500 y al comprobar los registros de errores Muestra:

Premature end of script headers: test.pl

Aquí está el script de Perl:

#!/usr/bin/perl -w
print "Content-type: text/plain\n\n";
print "testing...\n";

Mi carpeta cgi-bin tiene permisos de 0755. El guión en sí también es 0755. El guión es propiedad de Apache y su grupo en el Apache. El script funciona bien a través de la línea de comandos.

¿Cuál es el problema y cómo puedo solucionar este problema?!

Gracias a todos por cualquier ayuda!

Actualizar

hallazgo interesante en 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)

Pero mi cgi-carpeta es la misma que la secuencia de comandos test.pl - se refería a que otro directorio

¿Fue útil?

Solución

Hay un montón de buenas sugerencias de solución de problemas para los scripts de Perl dando ese mensaje de error en PerlMonks: comenzar aquí . No veo los errores específicos en el script, y parece que ha cubierto los permisos de archivo, por lo que me gustaría empezar con las sugerencias de configuración de Apache.

Otros consejos

Un montón de buenos consejos: ¿Cómo puedo solucionar los problemas de Perl script CGI .

Actualización de haber visto su mensaje de error suexec: Parece que tu servidor necesita el programa CGI a ser propiedad del mismo usuario que el directorio. Intente cambiar la propiedad del archivo.

El uso de CGI módulo por ejemplo.

use CGI qw/:standard/;
$q = CGI->new;
print $q->header('text/html');
print "testing...\n";     
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top