Php avancé et processus : help!!

Invité
Invité n'ayant pas de compte PHPfrance

25 févr. 2008, 12:18

Bonjour, je souhaite à partir d'un script PHP executer un prog en python en local sur le serveur. Ce prog peut mettre n secondes/min à s'exécuter. Après son lancement en php, je voudrais être sûr qu'il est bien terminé car il génère des fichiers qui vont être utilisés par la suite du script PHP. Une idée de script ?

J'ai essayé proc_open mais apparement ça ne suffit pas.

Merci à toutes et tous :o

Mammouth du PHP | 505 Messages

25 févr. 2008, 12:32

En generale, on utilise proc_open quand on veux récupérer la main de suite. Si tu doit attendre la fin du process, un simple system() suffit.
Assure toi aussi que ton process python ne dépasse pas le timelimit du process php, auquel cas, ajuste celui ci via set_time_limit()

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 févr. 2008, 13:29

Modération :
Anonymous, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.


Je reporte ici un message posté dans l'autre message
Bonjour,

Je vois 2 possibilités:
A la fin de ton script python, tu peux créer un fichier "resultat.txt" dans lequel tu mets 1 si tout s'est bien passé ou 0 si il y a eu une erreur (et ton script PHP attend via une boucle de trouver ce fichier resultat)
Sinon, à la fin de ton script Python tu peux appeler à nouveau un script PHP pour effectuer la suite du traitement...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

25 févr. 2008, 16:15

ok exec attend la fin du process pour continuer dans le script php
Quelle différence entre exec et system?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 févr. 2008, 16:42

Comme indiqué dans la doc, exec() retourne le résultat de l'exécution alors que system() affiche le résultat de l'action en plus de le retourner
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer