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 :

Pipe + Apache + PHP


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 56
    Par défaut Pipe + Apache + PHP
    Bonjour à tous,

    La question que j'ai est un peu technique... Ne sachant pas trop où la poser, je la met ici, même si elle concerne plus Apache, à mon avis.
    Voici mon problème:

    J'ai un exécutable que je lance depuis mon script PHP à l'aide d'un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec("/usr/bin/appli --pipe=/tmp/monpipe &");
    Comme vous pouvez le voir, je lui passe un pipe qui me permet de la commander depuis une application externe (ici, en l'occurrence, c'est pour garder la main dessus, malgré les diverses requêtes). J'aurais créer ce pipe préalablement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    posix_mkfifo('/tmp/monpipe', 0777);
    Ensuite, au requêtes suivantes, j'essaye d'arrêter mon application en lui envoyant une commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec("echo quit > /tmp/monpipe");
    Et là, ça ne marche pas, quand elle est exécuté depuis apache.
    Quand je lance en utilisateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ /usr/bin/appli --pipe=/tmp/monpipe &
    $ echo quit > /tmp/monpipe
    Elle se lance et s'arrête sans soucis.
    Quand je lance les scripts PHP sans apache:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ php launch_appli.php
    $ php quit_appli.php
    Elle se lance et s'arrête sans soucis, également.

    Mais quand je les exécutes depuis apache, l'application s'exécute bien, et tourne dans les taches. Mais pour l'arrêt, c'est comme si l'application n'avait jamais pris le pipe. L'arrêt depuis apache coince, ainsi que:
    Ça coince.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ echo quit > /tmp/monpipe
    Ça coince aussi (aucune réponse). C'est ce que ça fait lorsque que lance cette commande sans avoir d'application en écoute de l'autre coté.

    Donc, par déduction, ce doit être une sécurité de apache quelque part en empêche de genre de chose. Mais toute mes recherches sont restés infructueuses.
    Si quelqu'un à une idée là dessus, je suis preneur (je planche sur ce problème depuis plusieurs mois)

    Merci beaucoup
    Snark.

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    c'est peut être un problème sur l'utilisateur apache qui n'a pas les droits nécessaires ?

Discussions similaires

  1. Installation apache-php-MySql
    Par Jahjouh dans le forum Apache
    Réponses: 2
    Dernier message: 30/12/2006, 06h21
  2. [PERF] Gros pb de perf :/ postgres/apache/php
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/11/2004, 17h38
  3. [Apache / PHP] PHP pas interpété
    Par melitta dans le forum Apache
    Réponses: 8
    Dernier message: 15/09/2004, 09h19
  4. [Apache]Php cassé ?
    Par Michaël dans le forum Apache
    Réponses: 4
    Dernier message: 08/08/2004, 13h51

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