• Publicidad

No me ejecuta los nuevos archivos *.pl que creo

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

No me ejecuta los nuevos archivos *.pl que creo

Notapor Perl » 2009-04-14 12:38 @568

Hola, pido ayuda ya que ando todavía un poco pez en este asunto, aunque éste no me parece un problema de alguien principiante.

He estado haciendo programillas en Perl y aprendiendo algo pero resulta que ahora cualquier archivo nuevo que creo no me lo ejecuta. Solo me ejecuta los antiguos. De hecho he llegado a copiar el código de uno que me funciona perfectamente en uno nuevo, solo que con otro nombre y no me lo ejecuta.

Agradecería mucho ayuda al respecto, un saludo.
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Publicidad

Notapor explorer » 2009-04-14 12:48 @575

Estamos hablando de CGI porque estamos en el foro del mismo.

¿Has mirado si están puestos los permisos de ejecución? ¿En qué sistema operativo estás? ¿Qué servidor web? ¿No puedes poner un ejemplo de CGI que no funciona?
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl » 2009-04-14 13:01 @584

A ver, me explayo:
Tengo Debian Lenny con Apache y tengo los permisos perfectamente como los archivos que se me ejecutan sin problemas pongo ahora el código de un programa que me funciona en el archivo en el que lo hice pero que ahora lo copio y pego en uno nuevo y no me lo ejecuta.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#! /usr/bin/perl

my $TipoContenido = "Content-type: text/html";
my $Inicio = "<html><head><TITLE>Perl</TITLE></head><body>";
my $Titulo = "<h1>HTML desde Perl</h1>";
my $Texto = "<p>Contexto generado desde un CGI Perl.</p>";
my $Fin = "</body></html>";

# Enviamos la pagina
print "$TipoContenido\n\n";
print "$Inicio\n$Titulo\n$Texto\n$Fin";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor explorer » 2009-04-14 13:05 @586

Has dejado una línea en blanco, arriba del todo.
Y no me gusta el espacio en blanco que hay después del '#!'. Está permitido, pero... no me gusta...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl » 2009-04-14 13:34 @606

No me funciona de todas formas pero he estado leyendo el tutorial de aquí sobre los cgi y he visto que si pongo esa extensión me funciona sin problemas.

¿ No te parece realmente raro ?

Además esto me pasó justo después de que crease un *.pl en mi directorio y cuando fui a copiarlo al directorio cgi-bin me decía que el archivo no existía; quería cambiar los permisos y tampoco me dejaba. Era como si no estuviese, en cambio solo me dejaba borrarlo. Y fue a partir de ahí cuando me empezó este problema.
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor explorer » 2009-04-14 13:42 @612

No me parece nada raro. El que ejecute una extensión u otra depende de la configuración del servidor web.

En cuanto al tema de los permisos, habría que repasar los permisos de la carpeta o subdirectorio cgi-bin. Según cómo estén, te dejará hacer unas cosas u otras.

Recuerda que el programa pertenece a un usuario. El subdirectorio, a otro. Y pueden ser distintos del usuario que ejecuta el servidor web.

Generalmente, a ese usuario web se le dan permisos para entrar en cgi-bin y permisos de ejecución sobre los cgi.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl » 2009-04-14 14:22 @640

No tengo subdirectorios y ahora ni siquiera me funciona la extensión cgi. Es más, tampoco había configurado nada en Apache y me ha estado funcionando las extensión .pl sin problemas es algo rarísimo. Con Perl no estoy haciendo mi primera toma de contacto con la programación y te aseguro que es tal te lo cuento...
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor explorer » 2009-04-14 14:27 @644

Cuando digo subdirectorios me refiero al cgi-bin/.

Deberás echar un vistazo al fichero de error.log del servidor web, para saber qué error sale.

No te olvides de usar el CGI::Carp para que te muestre los errores en el navegador web, como ves en mi CGI mínimo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl » 2009-04-14 14:59 @666

He mirado el log y efectivamente:
[Tue Apr 14 21:43:34 2009] [error] [client ::1] (13)Permission denied: exec of '/usr/lib/cgi-bin/ENV.pl' failed

Al directorio cgi-bin no es posible cambiarle el usuario o el grupo como para ponerle los de Apache por ejemplo

Código: Seleccionar todo
drwxr-xr-x 2 root root 4,0K mar 30 16:35 cgi-bin


y de estos 2 el primero no se ejecuta, pero el segundo sí

Código: Seleccionar todo
-rwxr-xr-x 1 root root  533 abr 14 20:43 ENV.pl
-rwxr-xr-x 1 root root  888 abr 13 20:50 Expresiones_Regulares.pl


¿ Dónde está el truco, por favor ?
Perl
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-04-09 10:14 @468

Notapor explorer » 2009-04-14 15:27 @686

Puede estar en dos sitios.

Uno, en el contenido. Podría haber un problema en la cabecera como te comenté antes.

Y dos, podría ser que estén afectando los atributos ACL del directorio. Un poco raro, pero podría ser.

Yo apuesto por el primer caso. ¿Has intentado ejecutarlo desde la línea de comandos?

Han ocurrido casos extraños, en los cuales había un carácter extraño en la primera fila, como un retorno de carro msdos, que al ser invisible, no lo vemos. La solución es borrar la línea y volver a escribirla bien.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados