Fin prematuro de los jefes de la escritura - ¿Qué, no tengo ni idea!
-
02-10-2019 - |
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
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";