Domanda

Io e il mio amico stiamo creando un parser di log per una serie di giochi. Abbiamo scritto il frontend (web) in PHP / MySQL e il parser in Perl (usando anche MySQL, ovviamente). Ora abbiamo problemi a far comunicare questi due.

Tutto ciò che non vogliamo fare è questo: una pagina di amministrazione online in cui hai il pulsante " parse " ;. Quando si fa clic su questo dovrebbe iniziare uno script Perl. Come " exec (" perl /home/www/Init.pm -f games_mp.log ").

È possibile? Ricorda, si suppone che sia facile da configurare.

Abbiamo provato di tutto, da system / exec a .htaccess, ma nulla sembra funzionare immediatamente. Davvero non funziona affatto.

Suggerimenti?

laka =)

È stato utile?

Soluzione

Mi dispiace dire che non esiste un modo semplice per configurarlo. Server diversi sono dotati di diverse configurazioni di apache predefinite.

Quello che probabilmente stai cercando di fare è aggiungere la seguente riga all'interno della configurazione del server, della configurazione dell'host virtuale, della configurazione della directory o, se correttamente impostato, .htaccess.

AddHandler cgi-script .cgi .pl .pm

I tuoi utenti dovranno anche chmod e chown i file in modo appropriato.

Il fatto è che sembra un processo di lunga durata. In tal caso, potrebbe essere necessario molto tempo per eseguire il timeout del browser Web prima che venga eseguito. In tal caso, probabilmente vorrai impostare una sorta di coda di lavoro e avere uno script cron basato su quello ogni 5 minuti circa.

Altri suggerimenti

Perché non eseguire lo script Perl come se fossero una pagina web da jQuery usando mod_perl?

Sono disposto a scommettere che stai riscontrando errori di tracciamento. Prova a fornire il percorso completo dell'eseguibile Perl. Ad esempio:

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

In PHP molte cose dipendono dalla configurazione. Prova a esaminarlo poiché molti operatori possono essere disabilitati.

Verifica che il programma Perl abbia i diritti corretti. Prova a eseguire il programma Perl dalla riga di comando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top