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] aide fonction exec


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut [Système] aide fonction exec
    Bonjour,
    J'ai consulté le manuel de la page exec en php mais j'avoue que je n'arrive pas à m'y retrouver.
    Dans mon repertoire je souhaite lancer un simple fichier jar d'où le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $commande = "java -jar monJar.jar";
        echo exec($commande);
    cependant lors de l'éxécution j'ai toujours : en attente de localhost.
    Mon fichier php est pourtant bien dans le même repertoire que mon jar et le safe mode est sur off.
    Et rien ne se lance même pour des executables tout simples du genre : start iexplore.exe qui fonctionne bien quand je le tape dans une console.

    Quelqu'un aurait une idée?
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Par défaut
    pas de solution miracles mais quelques idées :

    si tu essayes de lancer une appli avec exec php va attendre que l'executable ai fini avant de reprendre la main.
    donc y'a des chance que l'appli se lance quelque part et que php attend qu'elle s'arrête
    ça pourrait expliquer le "en attente de localhost" en permanence vu qu'elle ne s'arrête pas...
    dans la doc de exec ils disent en gros qu'il faut s'assurer que la sortie de ton executable est bien redirigée si tu veux éviter ça (j'ai trouvé en anglais :
    Note: If you start a program using this function and want to leave it running in the background, you have to make sure that the output of that program is redirected to a file or some other output stream or else PHP will hang until the execution of the program ends.
    )

    sinon essaye de regarde si l'utilisateur de base web (sous linux c'est apache) possède bien les droits d'exécuter les commandes que tu veux qu'il lance

    comme tu utilses le safe_mode essaye de voir ce que contient ton safe_mode_exec_dir, tes executables doivent y être situés

    autre idée : essaye de lancer des commandes uniquement en ligne de commande (un mkdir ou un cp par exemple) pour voir si ça s'exécute ...
    je n'ai jamais essayé de lancer des commandes qui s'exécutent dans une autre fenêtre hors du navigateur donc je ne sais pas si c'est un cas particulier/possible...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut
    Bonsoir,
    J'ai toujours le même problème mais j'ai testé différentes choses.
    Au niveau du safe_mode il est sur off je n'ai donc pas besoin de faire les autres verifications non?
    Ensuite j'ai testé des commandes simples : exec("mkdir repTest");
    Cela fonctionne parfaitement.
    Donc si on arrive à supprimer ou créer des répertoires il doit exister une solution non? J'ai essayé de lancer ma commande java à partir d'un .bat que j'ai appelé par exec("start maCom.bat"); mais la encore j'ai en attende de localhost.

    Je ne sais plus trop quoi essayer, peut etre est ce impossible?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Par défaut
    Citation Envoyé par john123 Voir le message
    Je ne sais plus trop quoi essayer, peut etre est ce impossible?
    en regardant d'autres pages sur internet je dirais que oui (ce que je pensais déjà mais je ne m'étais jamais posé la question)
    une commande qui ne renvoit rien ou juste du texte (du genre cp, mv, mkdir, une execution d'un script shell, bat, perl...) ça passe nickel mais pour le reste


    apparement avec des activeX ou des plugins java ça pourrait passer (avec l'utilisateur qui devrait accepter de donner des autorisations...)

Discussions similaires

  1. [Système] [Aide] fonction htmleentities
    Par fallais dans le forum Langage
    Réponses: 5
    Dernier message: 21/09/2006, 19h38
  2. [Système] Probléme fonction exec
    Par locs dans le forum Langage
    Réponses: 2
    Dernier message: 21/08/2006, 15h57
  3. Réponses: 3
    Dernier message: 10/08/2006, 20h04
  4. [Système] problème avec la fonction exec
    Par SegmentationFault dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2006, 17h59
  5. [Système] Problème avec la fonction exec()
    Par ben_harper dans le forum Langage
    Réponses: 13
    Dernier message: 28/06/2006, 11h32

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