Rechercher : dans
Par :

Executer perl depuis php

Dernière réponse le 7 nov 2008 à 14:53:43 ROM88, le 4 nov 2008 à 20:30:56 
 Signaler ce message aux modérateurs

Bonjour,

j'essaie d'executer un script perl (plusieurs centaines de lignes) depuis une interface php mais php refuse de faire quoi que ce soit
j'ai essaye les ``, exec, system, shell_exec
j'ai verifie les exit codes des commandes, les resultats, rien c'est vierge a chaque fois

j'ai verifie que php peut ecrire dans le chemin specifie pour perl...rien...
pourtant system marche avec des trucs simples genre cd, grep etc

est ce qu'il y a un autre moyen de faire ca? ou bien au moins de verifier comment php est en train de traiter la commande?

merci

Configuration: Windows XP
Firefox 2.0.0.16

1

jmg78, le 5 nov 2008 à 09:13:50

Normalement avec la commande system cela doit etre possible tu as peut etre un probleme de PATH
sinon j ai amélioré un mini serveur en c qui permet d exécuter ce que tu veux voir profil je suis enregistré

Répondre à jmg78

2

 ROM88, le 7 nov 2008 à 14:53:43

Bon j'ai trouve (apres plusieurs heures de frustration)
je deteste les messages d'erreur de php, meme si j'aime bien le langage...enfin, bref...

je resume donc, pour plus tard, si qq'un a le meme probleme:

le php etant execute sur une autre machine que la mienne, c'est le serveur apache sur cette machine qui va executer le script perl, meme si celui ci se trouve sur ma machine.
donc, j'ai modifie les permissions pour mon script, et quand j'invoque system dans php, au lieu de faire directement
perl mon_script.pl , je fais rsh ma_machine 'perl mon_script.pl'
parce que la version de perl installe sur l'autre machine n'a pas les modules dont j'ai besoin (un peu bordelique le systeme chez nous )
de plus, comme perl devait creer un fichier pendant son execution, je lui ai cree un dossier special avec permissions 777 pour que apache puisse ecrire la dedans...

ca marche maintenant, mais c'etait pas du tout evident

Répondre à ROM88
Collection CommentÇaMarche.net