Pregunta

mi amigo y yo estamos creando un analizador de registro para una serie de juegos. Hemos escrito el frontend (web) en PHP / MySQL y el analizador en Perl (también usando MySQL, por supuesto). Ahora estamos teniendo problemas para que estos dos se comuniquen.

Todo lo que queremos hacer es esto: una página de administración en línea donde tiene el botón " analizar " ;. Cuando haces clic en esto, debería comenzar un script Perl. Me gusta " exec (" perl /home/www/Init.pm -f games_mp.log ")

¿Es esto posible? Recuerde, se supone que debe ser fácil de configurar.

Hemos intentado todo, desde system / exec a .htaccess, pero nada parece funcionar fuera de la caja. Realmente no funciona en absoluto.

Sugerencias?

laka =)

¿Fue útil?

Solución

Lamento decir que no hay una manera fácil de configurar esto. Los diferentes servidores vienen con diferentes configuraciones de apache por defecto.

Lo que probablemente estés buscando hacer es agregar la siguiente línea dentro de la configuración del servidor, la configuración del host virtual, la configuración del directorio o, si está correctamente configurada, .htaccess.

AddHandler cgi-script .cgi .pl .pm

Sus usuarios también necesitarán chmod y chown los archivos apropiadamente.

Lo que pasa es que esto suena como un proceso de larga ejecución. Si lo es, entonces el proceso de ejecución del navegador web puede tardar tanto tiempo antes de que finalice. Si ese es el caso, es probable que desee configurar algún tipo de cola de trabajo y tener un exec de script cron basado en eso cada 5 minutos aproximadamente.

Otros consejos

¿Por qué no ejecutar el script Perl como si fuera una página web de jQuery usando mod_perl?

Estoy dispuesto a apostar a que se está ejecutando en errores de pathing. Trate de proporcionar la ruta completa al ejecutable de Perl. Por ejemplo:

exec("/usr/bin/perl /home/www/Init.pm -f games_mp.log")

En PHP muchas cosas dependen de la configuración. Intente verlo ya que muchos operadores pueden ser deshabilitados.

Verifique que el programa Perl tenga los derechos correctos. Intenta ejecutar tu programa Perl desde la línea de comandos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top