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 :

Fonction system() ne provoque par les mêmes événements qu'une appel en shell


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut Fonction system() ne provoque par les mêmes événements qu'une appel en shell
    Bonjour,

    J'ai une application PHP que je souhaite faire imprimer sur une imprimante à coupons Epson. Afin de permettre au système d'imprimer directement, j'ai créé un exécutable appelé "GTPI.exe" qui utilise l'API d'Epson pour me permettre de communiquer avec l'imprimante.

    Mon fichier PHP génère simplement un fichier texte qui sera interprété par mon exécutable qui lancera l'impression. Ce que je trouve bizarre c'est que le comportement de mon application ne semble pas être tout à fait le même selon que je l'appelle depuis l'invite de commandes ou avec la fonction system() de PHP.

    Ainsi, j'ai configuré dans mes paramètres d'impression dans mon gestionnaire d'imprimantes afin que le tiroir caisse s'ouvre avant l'impression du coupon, ce qui est fait si j'écris cette commande dans l'invite de commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GTPI.exe monfichier.txt
    Cependant, mon exécutable imprimera le coupon sans ouvrir le tiroir caisse si je place cette même commande dans un fichier PHP, comme si les paramètres d'impression définis étaient ignorés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    system("GTPI.exe monfichier.txt");
    ?>
    Y-a-t'il quelque chose que je devrais savoir?
    Pensez à la balise

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Peut-être faut-il spécifier l'emplacement de l'executable, es-tu sûr qu'il se trouve au même endroit que le script PHP qui execute la fonction system ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system('c:\\GTPI.exe monfichier.txt');

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/04/2014, 13h23
  2. Réponses: 8
    Dernier message: 21/03/2012, 10h51
  3. [WD-2010] Remplacer un mot par le même MAIS dans une autre couleur
    Par goldvin dans le forum Word
    Réponses: 4
    Dernier message: 16/01/2012, 01h30
  4. Réponses: 43
    Dernier message: 02/03/2011, 10h20
  5. Réponses: 4
    Dernier message: 02/02/2009, 22h03

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