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 :

[Système] Comment exécuter un script PHP sur le PC depuis un serveur Apache ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Points : 537
    Points
    537
    Par défaut [Système] Comment exécuter un script PHP sur le PC depuis un serveur Apache ?
    Soit le fichier exemple ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $Fichier = "toto.tmp";
    $Canal = fopen ($Fichier,"w");
    fputs ($Canal,"Coucou \n");
    fclose($Canal);
    ?>
    je voudrais le lancer depuis un autre script qui lui tourne sur mon serveur APACHE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $Execution = "c:\documents and setting\xampp\php\php-win.exe -f toto.php);
    $Retour = exec($Execution,$Sorties,$Erreur);
    echo "Retour:".$Retour." , Sorties:".$Sorties." , Erreur:".$Erreur."!<br>";
    je n'ai aucun retour autre que $Erreur = 1 et nulle trace d'un fichier toto.tmp (ou d'ailleurs ?)
    Pourquoi tout ce bric à brac me direz vous ?
    Pour tester d'abord puis exploiter ensuite une CRON table qui tournerais sur mon serveur selon l"excellent tutorat posté par Mathieu
    mais néanmoins qui mériterait quelques explications pour être fonctionnel
    En tout cas, chez moi, cela ne marche pas

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    humm regarde cette doc c'est plus facile

    http://php.net/features.commandline

  3. #3
    Invité
    Invité(e)
    Par défaut
    Si j'ai bien compris ta requête tu dois utiliser include() dans le script appelant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include("/chemin/vers/toto.php");
    Tu peux aussi utiliser include_once() qui empêche ton script d'être lancé 2 fois par erreur.

    webrider

  4. #4
    Membre confirmé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Points : 537
    Points
    537
    Par défaut Ben, je vais préciser mon problème !
    Je voudrais pouvoir lancer un script PHP qui irait chercher périodiquement une liste de tâches à exécuter, une fois qu'il a lancé ces tâches (ou pas) il s'endort jusqu'à la prochaine fois. Une CRON table , quoi !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $Execution = "C:\documents and settings\rampe\php.exe -f toto.php";
    $Retour = exec($Execution,$Sorties,$Erreur);
    echo "Retour:".$Retour." , Sorties:".$Sorties." , Erreur:".$Erreur."!<br>";
    ?>
    (j'ai omis la boucle de lecture, réduit la liste à un script (toto.php) et l'attente entre 2 passages car la difficulté n'est pas là, mais bien dans l'exécution du php en mode commande (sous PHP !)
    La documentation que j'ai lu et relue ne m'apporte pas de réponse
    1 - Cela marche en lançant cmd sous windows .
    2 - Dans un scrip php, cela me met que 'php.exe' n'est pas reconnu en tant que commande interne...
    J'en déduit que sous EXEC, il attend une commande de l'OS ... certes, mais alors, comment éxécuter un fichier php en mode commande, dans l'aide, ils y arrivent ?
    3 - J'ai bien pensé mettre le chemin de l'exécutable dans la commande include du PHP.INI, mais cela ne change rien ....
    4 - J'ai essayé divers commandes, exec, system, passthrue, etc ...

    Le seul truc que je n'ai pas essayé, c'est fopen (dans l'exemple de mathieu)
    du fichier à exécuter car je ne comprends par quel miracle le fait d'ouvrir un fichier va d'une part l'exécuter (je cherche encore les fread ou fgets... )

    Doit-je partir sur les routes en expiation de mes fautes ?

Discussions similaires

  1. Exécution de script PHP sur gros fichiers .txt
    Par Tonii dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2014, 17h51
  2. [MySQL] Comment exécuter des script php sans serveur ?
    Par dalalbay dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/08/2012, 18h35
  3. Exécuter un script PHP sur la même page
    Par merex dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2011, 05h48
  4. Ligne de commande php pour exécuter un script php basé sur mon serveur web
    Par bdgtat dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 13/07/2007, 08h53
  5. [MySQL] exécuter un script php en commande linux : problème sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2007, 16h34

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