effectuer des actions en parallèle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : effectuer des actions en parallèle

Re: effectuer des actions en parallèle

par altergo » 19 déc. 2010, 22:19

Savez-vous d'où vient ce warning ?

Re: effectuer des actions en parallèle

par altergo » 18 déc. 2010, 12:29

Mon poste de travail oui mais le serveur qui héberge est un linux.

Re: effectuer des actions en parallèle

par epommate2 » 18 déc. 2010, 12:16

Tu es sous WIndows ???

Re: effectuer des actions en parallèle

par altergo » 18 déc. 2010, 11:54

J'ai aussi eu ce warning :
Warning: exec() [<a href='function.exec'>function.exec</a>]: Unable to fork [/usr/bin/php -v ]

Re: effectuer des actions en parallèle

par altergo » 18 déc. 2010, 11:46

Sortie :
X-Powered-By: PHP/4.4.9
Content-type: text/html

Re: effectuer des actions en parallèle

par epommate2 » 18 déc. 2010, 08:34

exec("/usr/bin/php -v ") ?

Re: effectuer des actions en parallèle

par altergo » 17 déc. 2010, 18:26

Alors,
exec("date") me renvoie bien la date, et exec("ls") me renvoie bien un listing.
:|

Re: effectuer des actions en parallèle

par epommate2 » 17 déc. 2010, 07:53

Est-ce que tu as essayé exec sur une commande (genre "date") afin de récupérer la sortie pour valider que tu pouvais utiliser exec ?

Re: effectuer des actions en parallèle

par altergo » 16 déc. 2010, 22:05

Bonsoir,

Merci mais malheureusement aucune de ces fonctions (nohup et popen) ne fonctionne pour mon cas.

A titre d'exemple, quand je lance en ligne de commande pur :

Code : Tout sélectionner

#nohup php5 traitement.php
le fichier traitement.php est bien atteint, et j'ai meme un nouveau fichier nohup.out qui contient la sortie de la commande.

Quand je lance en php
exec("nohup php5 traitement.php");
Rien ne se passe, pas d'accès à traitement.php, et pas non plus de fichier nohup.out ! :roll: #-o

Serais-ce à cause de restrictions sur mon serveur (mutualisé) ?

Re: effectuer des actions en parallèle

par sebounet » 16 déc. 2010, 16:03

il faut te deconnecter du processus avec nohup
exec("nohup *command* 1>/dev/null/ 2>&1 &");
http://www.php.net/manual/fr/function.exec.php#11800
Je pense que ça devrait résoudre ton problème.

Re: effectuer des actions en parallèle

par stealth35 » 16 déc. 2010, 10:57

essaye toujours avec un popen mais bon...

Re: effectuer des actions en parallèle

par epommate2 » 16 déc. 2010, 09:51

Tu as testé avec une autre commande ?
Tu as testé avec les droits du serveur web ?

Re: effectuer des actions en parallèle

par altergo » 16 déc. 2010, 09:15

Merci pour vos réponses.

Malheureusement la redirection de sortie (> /dev/null 2>&1) ne fonctionne pas mieux, le fichier n'est jamais appelé non plus.

Comment faire ?

Re: effectuer des actions en parallèle

par epommate2 » 16 déc. 2010, 07:15

Il me semble qu'il faut rediriger la sortie
exec("php5 -f ./auto/traitement.php > /dev/null 2>&1");
(Mais bon, c'est clair que c'est pas super top... c'est quoi ce traitement ?)

Re: effectuer des actions en parallèle

par stealth35 » 16 déc. 2010, 01:35

Oui, plusieurs minutes, je ne veux pas que le visiteur s'en aille !
Pourquoi la fonction exec() ne fonctionne pas comme prévu ?
exec c'est limiter php c'est pas du tout fait pour ca, dans se cas la fait un système de queue. "plusieurs minutes" en PHP c'est une éternité y'a un probleme dans ta conception, l'outils n'est pas adapté