IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Script php en arrière plan popen


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut Script php en arrière plan popen
    Salut a tous,

    J'essaie de faire tourner un script php en background.
    J'ai tente de le faire en ajax mais il prend 4 minutes a s'executer(il pourra prendre deux heures), je ne peux pas surfer sur mon site en attendant.

    Donc mon but est de rafraichir les donnees en background.
    J'ai trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [pclose(popen('start /b myscript.php?siteid='.$_POST['siteid'], 'r'));]
    Mais il n'a pas lair de faire grand chose.

    Je suppose que je l'ecris mal
    j'ai tente le mot php a la place de start, avec ou sans la balise /b (je ne sais meme pas a quoi ca correspond)

    Merci d'avance pour votre aide

    Sandrine

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    es-tu certain de l'endroit de myscript.php par rapport à celui où se trouve cette ligne ?

    Ecris comme ceci, ça veut dire que le fichier de ton bout de code et myscript.php sont dans le meme répertoire, est-ce le cas ?


    Sinon, essaye ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    // From PHP Manual
    error_reporting(E_ALL);
     
    /* Add redirection (2>&1) so we can get stderr. */
    $handle = popen('start /b myscript.php?siteid='.$_POST['siteid'].' 2>&1', 'r');
    echo "'$handle'; " . gettype($handle) . "\n";
    $read = fread($handle, 2096);
    echo $read;
    pclose($handle);
    ?>

  3. #3
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut
    Salut,

    Merci pour ton aide.
    Il me renvoit ceci :
    'Resource id #2'; resource sh: start: command not found
    J'ai change start par PHP et il me dit :
    'Resource id #2'; resource
    Une idee?

    Sandrine

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    ha voui j'suis bête... le fait d'écrire "start" ça ouvrira le fichier... mais dans un éditeur de texte, ça ne l'exécutera pas

    bon normalement il faudrait que tu utilises ceci mais sous windows ça ne marche pas, car il ne connait pas commande "PHP" et ça ne marche pas si on écrit le chemin relatif... bref si je trouve une solution, je te tiens au courant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec('php myscript.php?siteid='.$_POST['siteid']);

  5. #5
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut
    Ok merci beaucoup

    Je continue de chercher de mon cote.

    Si je trouve je post

  6. #6
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Trouvé !!

    Sous Windows, il suffit tout simplement d'indiquer le chemin complet vers php.exe

    Nous dirons que ce script se trouve dans le fichier : myExec.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // Emplacement de php.exe : C:\wamp\bin\php\php5.2.6\php.exe
    // La commande est donc : C:\wamp\bin\php\php5.2.6\php
    exec ('C:\wamp\bin\php\php5.2.6\php myScript.php');
    // ATTENTION :
    // le chemin vers le script est relatif à l'endroit où se trouve ce fichier et non pas à celui du php.exe
    // Dans cet exemple, ça veut donc dire que myScript.php et myExec.php sont dans le même dossier
    ?>

  7. #7
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut
    Yesss ca marche merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Lancer script Powershell en arrière plan ?
    Par patito1975 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 22/09/2014, 14h26
  2. lancer un scripte php en arrier plan
    Par tawrirte dans le forum Langage
    Réponses: 1
    Dernier message: 18/08/2013, 08h53
  3. Exécuter une page PHP en arrière-plan
    Par sunseb7 dans le forum Langage
    Réponses: 1
    Dernier message: 13/12/2009, 19h51
  4. [PHP-JS] Lancer un script PHP en arrière plan
    Par aroua dans le forum Langage
    Réponses: 4
    Dernier message: 29/08/2007, 12h40
  5. Réponses: 1
    Dernier message: 01/03/2006, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo