Pergunta

meu amigo e eu estamos criando um analisador de log para uma série de jogos. Nós escrevemos o frontend (web) em PHP / MySQL e o analisador em Perl (também usando MySQL, é claro). Agora nós estamos tendo problemas para obter estes dois para se comunicar.

Tudo o que quero para fazer é esta: página de administração de um on-line onde você tem a "análise" botão. Quando você clica neste um script Perl deve começar. Como "exec (" perl /home/www/Init.pm -f games_mp.log ").

Isso é possível? Lembre-se, é suposto ser fácil de configurar.

Já tentamos de tudo, desde sistema / exec para .htaccess, mas nada parece funcionar fora da caixa. Não funciona em todos realmente.

Sugestões?

laka =)

Foi útil?

Solução

Lamento dizer que não há nenhuma maneira fácil de configurar isso. Diferentes servidores vêm com diferentes configurações padrão do Apache.

O que você está procurando provavelmente fazer é adicionar a seguinte linha dentro do quer a configuração do servidor, configuração de host virtual, config, ou, se configurada corretamente, .htaccess.

AddHandler cgi-script .cgi .pl .pm

Os usuários também terão de chmod e chown os arquivos de forma adequada.

A coisa é, isso soa como um processo de longa duração. Se for, então isso pode levar muito tempo para executar o navegador irá expirar antes de ser feito. Se for esse o caso, você provavelmente vai querer configurar algum tipo de fila de trabalho e ter um exec script cron baseado fora que cada 5 minutos ou assim.

Outras dicas

Por que não executar o script Perl como se fossem uma página web a partir do jQuery usando mod_perl?

Eu estou disposto a apostar que você está executando em erros Pathing. Tente fornecer o caminho completo para o executável Perl. Por exemplo:

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

Em PHP muitas coisas dependem da configuração. Tente olhar para ele como muitos operadores pode ser desativado.

Verifique que o programa Perl tem direitos corretos. Tente executar você programa Perl de linha de comando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top