Question

Mon ami et moi créons un analyseur de journaux pour une série de jeux. Nous avons écrit l'interface (web) en PHP / MySQL et l'analyseur en Perl (en utilisant également MySQL, bien sûr). Nous avons maintenant du mal à faire communiquer ces deux personnes.

Tout ce que nous voulons faire est la suivante: une page d’administration en ligne sur laquelle vous avez le bouton "Analyser". Lorsque vous cliquez dessus, un script Perl devrait commencer. Comme "exec (" perl /home/www/Init.pm -f games_mp.log ").

Est-ce possible? Rappelez-vous, il est supposé être facile à configurer.

Nous avons tout essayé, de system / exec à .htaccess, mais rien ne semble fonctionner immédiatement. Ne fonctionne pas du tout vraiment.

Des suggestions?

laka =)

Était-ce utile?

La solution

Je suis désolé de dire qu'il n'y a pas de moyen facile de configurer cela. Différents serveurs sont livrés avec différentes configurations Apache par défaut.

Ce que vous cherchez probablement à faire est d'ajouter la ligne suivante dans la configuration du serveur, la configuration de l'hôte virtuel, la configuration du répertoire ou, si configuré correctement, le fichier .htaccess.

AddHandler cgi-script .cgi .pl .pm

Vos utilisateurs devront également chmod et chown les fichiers de manière appropriée.

En fait, cela ressemble à un long processus. Si tel est le cas, l’exécution du navigateur Web risque de prendre un certain temps. Si tel est le cas, vous souhaiterez probablement configurer une sorte de file d’attente de travail et disposer d’un script d’exécution cron basé sur ce dernier toutes les 5 minutes environ.

Autres conseils

Pourquoi ne pas exécuter le script Perl comme s'il s'agissait d'une page Web de jQuery utilisant mod_perl?

Je suis prêt à parier que vous rencontrez des erreurs de parcours. Essayez de fournir le chemin complet vers l'exécutable Perl. Par exemple:

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

En PHP, beaucoup de choses dépendent de la configuration. Essayez de regarder car plusieurs opérateurs peuvent être désactivés.

Vérifiez que le programme Perl a les droits corrects. Essayez d’exécuter votre programme Perl en ligne de commande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top