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 :

Effectuer un exec() sur un éxecutable java


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Effectuer un exec() sur un éxecutable java
    Hello

    Je vous explique le problème que je rencontre: j'ai installé mon site sur un serveur distant OVH et je suis entrain de tester.

    Mon application fait appel à un moment donné à la fonction exec() sur un exécutable java .jar.

    Ceci marche très bien en local mais pas sur mon serveur. J'essaye de comprendre pourquoi et j'essaye déjà de tester avec un simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    exec("echo toto:titi", $res);
    $content = "";
    foreach($res as $val)
    {
    	$content .= ($val);
    }
    echo $content;
    Or chez moi en local ça marche mais quand j'envoie ça sur le serveur et que je test, ben il ne me renvoi rien du tout...


    Quelqu'un pourrait-il m'aider à résoudre ce problème ?

    Une fois que ceci marchera, j'aimerai ensuite voir si ça marcherai avec mon .jar...

    Merci

  2. #2
    Membre expérimenté
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    salut,

    peut être que la fonction exec est désactivée chez cette hébergeur comme c'est le cas chez la plupart des hébergeurs.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Merci de ta réponse

    Je n'ai pas préciser mais je suis en hébergement dédié, donc à priori c'est autoriser...

    Cela dit, j'ai rajouter la mention
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('safe_mode', 0);
    avant pour m'assurer que exec() était bien activée mais cela n'y change rien...

    J'ai aussi mis à jour mon php.ini, safe_mode à on et renseigné aussi le safe_mode_exec_dir , j'y est mis mon .jar mais toujours rien ne m'est retourné!


    Quelqu'un a une idée?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Je reviens aux nouvelles

    Donc j'ai désactivé une option dans le logiciel Plesk qui gère mon hébergement et qui dit : 'safe_mode' de PHP activé.

    et la ce code marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    exec("echo toto:titi", $res);
    $content = "";
    foreach($res as $val)
    {
    	$content .= ($val);
    }
    echo $content;
    Par contre, j'essaye de faire marcher mon .jar et la rien ne s'affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $strToExec = "java -Djava.endorsed.dirs=/var/mondomaine.com/httpdocs/java/ressource_java -jar /var/mondomaine.com/httpdocs/java/monjar.jar \"$arg1\" \"$arg2\"";
     
    exec ($strToExec, $res);
     
    $content = "";
    foreach($res as $val)
    {
    	$content .= ($val);
    }
    echo $content;
    Quelqu'un a une idée? Il n'y a pas un problème de classpath par hasard?


  5. #5
    mon_nom_est_personne
    Invité(e)
    Par défaut
    avec exec() tu peut recuperer le code unix de la reponse. Si il y a pas de souci ce code doit etre egal a 0. Si c'est egale a 1 tu as un probleme de droit d'acces. Verifie bien que l'utilisateur web (generalement nobody ou apache) aie le droit en execution sur ton jar.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Merci de ta réponse pertinente

    Question: quel est la valeur numérique pour donner la permission nécessaire à ce fichier jar ? 777 ?

    (il est actuellement en 644)

Discussions similaires

  1. [exec-maven-plugin] Ne trouve pas l'éxecutable java
    Par KooKoolen dans le forum Maven
    Réponses: 1
    Dernier message: 19/12/2006, 13h54
  2. [Java] Infos et feedback sur la certification Java SCJP
    Par Gregory3000 dans le forum Certifications
    Réponses: 1
    Dernier message: 19/10/2005, 09h06
  3. Réponses: 1
    Dernier message: 28/03/2005, 12h33

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