Página 1 de 1

Ejecutar comando externo desde un script de perl en Bugzilla

NotaPublicado: 2012-01-30 11:31 @522
por mirko
Hola,

Estoy intentando crear una extensión para Bugzilla. Las extensiones de Bugzilla se programan en Perl.

Nunca había programado en Perl, pero revisando este foro he encontrado varias maneras de ejecutar un comando desde Perl. Cuando uso system() o las comillas invertidas desde un script Perl ejecutado desde la shell de Linux, me funcionan sin problemas. Sin embargo cuando lo ejecuto desde la extensión de bugzilla no funciona, simplemente creo que no hace nada y no sé por qué.

Lo primero que he pensado es que es tema de permisos, pero he hecho un montón de pruebas diferentes y no consigo dar con la tecla.

Cualquier pista que me podáis dar os lo agradezco.

Un saludo,
Alberto.

Re: Ejecutar comando externo desde un script de perl en Bugz

NotaPublicado: 2012-01-30 11:49 @534
por explorer
Bienvenido a los foros de Perl en español, mirko.

Pocas pistas nos das...

Para saber si hace algo, puedes poner en el system() que ejecute una tarea que actualice el contenido de un fichero de texto, por ejemplo, y así sabes si lo llega a ejecutar, o no.

Quizás sea porque tienes que indicar la ruta completa al ejecutable, en el comando system(). O podría ser un tema de permisos: si el servidor web que soporta a Bugzilla corre en un entorno enjaulado (chroot), no podrás salir de allí, así que tendrás que poner los ejecutables y ficheros en ese lugar. O de permisos de ejecución: quizás la carpeta que contiene al ejecutable y/o el propio ejecutable no tiene permisos de ejecución para el usuario web que ejecuta Bugzilla.

Re: Ejecutar comando externo desde un script de perl en Bugz

NotaPublicado: 2012-01-30 12:01 @542
por mirko
Hola explorer,

Muchas gracias por tu respuesta y perdona porque la respuesta a mi pregunta era trivial. El problema era que no tenía puesta la ruta completa y por eso no hacía nada. Estaba haciendo pruebas con el comando date y revisando los logs de Apache vi que no estaba encontrando el comando.

Can't exec "date": No such file or directory

Fallo de novato.

¡Gracias por la ayuda!