Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

[PERL] problème avec la fonction exec()

Toine, le mardi 26 août 2003 à 18:09:33 
 Signaler ce message aux modérateurs

Bonjour,

Je n'arrive pas à utiliser la fonction exec(). Elle n'arrive jamais à trouver le programme à executer, même si celui-ci est "à côté" du programme PERL en cours d'execution.

Par exemple, j'ai :
p1.pl
p2.pl

je lance p1.pl via un navigateur (serveur web apache)
dans celui-ci, j'écris :
exec ("perl ./p2.pl",@ARGLIST)

et ça ne marche pas !

Code:
[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] Can't exec "perl ./processmail.pl": No such file or directory at

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] f:\PROGRA~1\easyphp\www\bugzilla\post_bug.cgi line 305 (#1)

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] (W exec) A system(), exec(), or piped open call could not execute the

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] named program for the indicated reason. Typical reasons include: the

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] permissions were wrong on the file, the file wasn't found in

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] $ENV{PATH}, the executable in question was compiled for another

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] architecture, or the #! line in a script points to an interpreter that

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] can't be run for similar reasons. (Or maybe your system doesn't support

[Tue Aug 26 18:03:01 2003] [error] [client 192.168.0.103] #! at all.)


Merci pour votre aide !
Toine

1

pouet, le mercredi 27 août 2003 à 02:03:36

Salut,

au hasard, as tu verifie les permissions? verifie que ton script se trouve dans $ENV{PATH}? as tu essaye de mettre un chemin absolu?

--
pouet

Répondre à pouet

2

Toine, le mercredi 27 août 2003 à 10:39:04

Bonjour !

Merci de bien vouloir m'aider !

>> au hasard, as tu verifie les permissions?
je suis sous windows (désolé)

>>verifie que ton script se trouve dans $ENV{PATH}?
oui c'est ok maintenant

>>as tu essaye de mettre un chemin absolu?
oui j'ai essayé !


Voilà la ligne qui m'embête :

exec ('perl "F:/Program Files/EasyPHP/www/bugzilla/processmail.pl"', @ARGLIST)


[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] Can't exec "perl "F:/Program Files/EasyPHP/www/bugzilla/processmail.pl"":

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] Invalid argument at f:\PROGRA~1\easyphp\www\bugzilla\post_bug.cgi line 305 (#1)

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] (W exec) A system(), exec(), or piped open call could not execute the

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] named program for the indicated reason. Typical reasons include: the

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] permissions were wrong on the file, the file wasn't found in

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] $ENV{PATH}, the executable in question was compiled for another

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] architecture, or the #! line in a script points to an interpreter that

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] can't be run for similar reasons. (Or maybe your system doesn't support

[Wed Aug 27 10:29:48 2003] [error] [client 192.168.0.103] #! at all.)



Peux tu m'aider s'il te plait ?
Toine

Répondre à Toine

3

Jeff, le mercredi 27 août 2003 à 12:33:42
  • +1

Essayes le chemin absolu pour la commande perl... c'est elle qu'il ne connaît pas ;-) Jeff  --=||[WM@CCM]||=--

Répondre à Jeff

4

Toine, le mercredi 27 août 2003 à 14:03:27

Non c'était pas ça !

Réponse ici :

http://www.developpez.net/forums/viewtopic.php?p=589614#5896­14

Merci quand même ;)
Toine

Répondre à Toine

5

Mellyben, le mercredi 27 août 2003 à 18:01:03

Si perl est installé dans c:\perl alors la fonction exec() recherche dans c:\perl puis dans le path , mais attention si tu utilises un prog comme winat alors il, cherche par defaut dans %windir%, le mieux et d'utiliser la fonction suivante:
@argv = "ping -t www.google.com"
$resultat = system(@argv);
if(! $resultat) die "Pas bon";
attention de faire un choix judicieux entre chamins relatifs et absolus pour tes executables.

Répondre à Mellyben

6

jérôme, le mercredi 8 octobre 2003 à 10:25:14

Bonjour,
Je programme actuellement en Perl et dans mon programme Perl, je dois lancer simultanément d'autres programmes.
Cependant, je ne sais pas si une fonction pouvant réaliser ceci existe déjà ou si il y a une autre manière de faire.

Merci pour votre aide!

Répondre à jérôme

7

nath, le mardi 23 janvier 2007 à 17:46:34

Il existe un tas de maniere de lancer un programme en perl:
1) open (RIEN, "| le_nom_du_prog");
2) `le_nom_du_prog`
attention c'est le caractère se trouvant sur AltGr+7
...

Répondre à nath

8

 lami20j, le mardi 23 janvier 2007 à 20:08:43

Salut nath,

je pense que depuis 2003, il a trouvé la solution :-) lami20j

Répondre à lami20j
Probléme d'affichage de la fonction exec()php Bonjour à tous, j'ai un probléme concernant l'affichage du résultat de la fonction exec (ping"....") en php. le probléme c'est que le résultat renvoyé est concaténé ,moi je voudrais savoir comment je peut faire pour avoir un bonne affichage et si... www.commentcamarche.net/forum/affich-2611849-probleme-d-affichage-de-la-fonction-exec-php
Retour d'éxecution fonction exec() en PHP Bonjour, En utilisant la fonction exec() de php, j'obtiens un code d'erreur pour $return_var qui est égal à 188. Quelqu'un serait-il à quoi cela correspond ? Je n'arrive pas à trouver la traduction de ce statut pour le retour d'exécution www.commentcamarche.net/forum/affich-11113187-retour-d-execution-fonction-exec-en-php
Perl - Les fonctions La notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs... www.commentcamarche.net/contents/perl/perlfonc.php3
Trier un tableau sans utiliser la fonction sortTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle... www.commentcamarche.net/faq/sujet-7685-trier-un-tableau-sans-utiliser-la-fonction-sort
[PHP] Fonction mail()La fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez... www.commentcamarche.net/faq/sujet-117-php-fonction-mail
Comment fonctionne PicasaPicasa est un logiciel de gestion et de retouche de photographies numériques, disponible en français depuis 2006. Fonctionnalités Ce logiciel permet aussi de recadrer les photos, d’en arranger les couleurs, et de les retoucher de façon assez... www.commentcamarche.net/faq/sujet-14283-comment-fonctionne-picasa
[php] La fonction exec (Résolu)Bonjour a tous J'ai une question puet on créer une base de donnée a l'aide de la fonction EXEC voila le code source $host = "localhost"; $user = "root"; $pass = ""; $data = "villegiatour"; // Nommer ici la base de données $connect =... www.commentcamarche.net/forum/affich-3336543-php-la-fonction-exec
[Perl] foreach commande (Résolu)Salut à vous! Je plante le décor. J'ai un fichier pays.txt: $$COUNTRY=DE;PT;CZ;RO J'ai un fichier de paramétre:param.txt $$COUNTRY= J'ai une commande qui est capable de lire le fichier de parametre:ma_commande() J'ai un script perl... www.commentcamarche.net/forum/affich-2386057-perl-foreach-commande
Fonction execBonjour, Je souhaiterais lançer un fichier contenant des commandes Linux en passant par liens Hypertextes. Je souhaites pour celà utiliser la fonction exec de php mais celle-ci ne me renvoi aucun affichage a l'écran, ni erreur, ni résultat. Fichier à... www.commentcamarche.net/forum/affich-9499986-fonction-exec
Les variables avec PerlConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois... www.commentcamarche.net/contents/perl/perlvar.php3
Perl - Entrée et sortie standardsQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant... www.commentcamarche.net/contents/perl/perles.php3
Javascript - Les fonctionsLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction... www.commentcamarche.net/contents/javascript/jsfonc.php3