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

Linux Discussion :

Exécution de binaire


Sujet :

Linux

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut Exécution de binaire
    Bonjour à tous,

    Mon problème à la base est l'impossibilité de lancer un script binaire depuis PHP sur un serveur avec la fonction exec(), j'obtiens un code retour 127.

    Je me suis donc connecté sur le serveur en question par l'intermédiaire de SSH, et j'ai été dans le dossier contenant mon script et j'ai tenté la commande :

    request étant mon binaire, et j'obtiens la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request: request: cannot execute binary file
    Je suis complètement débutant en environnement linux et je ne comprends pas pourquoi je ne peux pas le lancer.

    Est-ce que quelqu'un aurait une piste par hasard ?

    Merci d'avance

  2. #2
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    Bonjour,

    Tout d'abord, que donne l'instruction :
    Si le fichier est exécutable (le x dans les permissions), il peut être lancé avec la commande
    Attention aussi à la configuration de php, qui, si le "safe mode" est activée, ou si ton exécutable n'est pas dans les chemins spécifiés dans la directive "open_basedir" refusera d'exécuter ton binaire.
    Est-ce que les logs te remontent un message d'erreur ?
    Chaval
    __________________
    "Monsieur le chat voudriez-vous, s'il vous plait, demanda Alice, me dire de quel côté dois-je aller ?
    Ca dépend de l'endroit où vous voulez vous rendre, répondit le chat"
    Lewis Carrol

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Le personne qui est responsable de ce serveur m'avait justement compiler un petit programme en C dans le même dossier qui affichait 'It works', et quand je l'ai appelé depuis PHP, tout a fonctionné correctement.

    Donc je suppose que les droits sur les dossiers sont bon non ?

    En exécutant la commande :

    J'obtiens la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -sh: ./request: No such file or directory
    Alors que pourtant quand je fais ls, le fichier est bien présent. Cette erreur est donc la même qu'avec PHP puisque si je ne me trompe pas, l'erreur 127 est pour un fichier introuvable.

    Comment un fichier présent physiquement ne peux pas être exécuté ?

  4. #4
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    Citation Envoyé par chaval Voir le message
    Tout d'abord, que donne l'instruction :
    Chaval
    __________________
    "Monsieur le chat voudriez-vous, s'il vous plait, demanda Alice, me dire de quel côté dois-je aller ?
    Ca dépend de l'endroit où vous voulez vous rendre, répondit le chat"
    Lewis Carrol

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    J'ai la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -rwxr-xr-x 1 www-data www-data 117257 2009-09-12 17:19 request

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Aucune idée du problème ?

    Je suis vraiment coincé et en cherchant sur le net ils parlent de recompiler, le problème est que je n'ai pas les sources, j'ai le fichier binaire tel quel.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut
    salut
    as-tu mis la ligne :
    #!/bin/sh
    en tout début du script ?

    et en faisant en console :
    /bin/sh request

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    C'est un binaire pour un paiement en ligne, donc je ne pensais que j'aurai à le modifier.

    J'ai donc rajouté la ligne :

    au tout début du fichier en l'ouvrant avec le bloc-notes.

    Maintenant quand j'essaye de l'exécuter avec la fonction exec() de php j'obtiens le code retour 2, mais je n'arrive pas à trouver à quoi correspond cette erreur sur internet.

    Avez-vous une idée ?

    Merci pour l'aide en tout cas, j'ai l'impression que ça avance

  9. #9
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    c'est un binaire ou c'est un script ? je veux dire tu peux l'ouvrir avec un éditeur de texte ?
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Je pense que c'est un binaire puisque quand je l'ouvre avec un éditeur de texte, ce sont des caractères incohérents qui apparaissent.

  11. #11
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    alors il ne faut pas rajouter la ligne #!/bin/sh. L'erreur 2 doit simplement vouloir dire qu'il est incapable d'interpreter ton binaire.

    il ne faut donc pas appeler "sh" non plus. Est ce que tu as essayé d'exécuter "request" a partir de son chemin absolu. Par exemple, s'il est dans le répertoire en faisant:
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Toujours no such file or directory.

    Alors que quand je fais :

    Il m'affiche bien le fichier

  13. #13
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    c'est bizarre ton affaire. Tu peux joindre ton fichier ?
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Si vous arrivez à le lancer, dites moi comment faire parce-que je désespère
    Fichiers attachés Fichiers attachés

  15. #15
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    j'ai copié le fichier dans mon home,
    voici la commande que j'ai tapé, et son résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nicolas@debian:~$ ./request 
    !-1!</TBODY></TABLE><BR><DIV ALIGN=CENTER><TABLE style="BORDER-RIGHT: #ff0000 1px solid; BORDER-TOP: #ff0000 1px solid; FONT-SIZE: 75%; BORDER-LEFT: #ff0000 1px solid; BORDER-BOTTOM: #ff0000 1px solid; font-family: sans-serif; border-collapse: collapse;" cellPadding=3 width=700><TBODY><TR style="background-color: #ff0000"><TD align=middle><B>API ERROR</B></TD></TR><TR><TD>Error reading pathfile () </TD></TR></TBODY></TABLE><BR></DIV>!!
    on va dire que ca marche, même si le code html est pas très correct

    edit : je l'ai détarré avant, c'était implicite ;-)
    Chaval
    __________________
    "Monsieur le chat voudriez-vous, s'il vous plait, demanda Alice, me dire de quel côté dois-je aller ?
    Ca dépend de l'endroit où vous voulez vous rendre, répondit le chat"
    Lewis Carrol

Discussions similaires

  1. [WD11] Intégrer un code binaire dans un exécutable
    Par LionNar dans le forum WinDev
    Réponses: 2
    Dernier message: 23/10/2008, 11h23
  2. Intégrer un fichier binaire à l'exécutable
    Par Nicolas V. dans le forum C
    Réponses: 5
    Dernier message: 04/07/2008, 16h40
  3. Réponses: 6
    Dernier message: 01/03/2008, 03h56
  4. Passer des arguments au binaire/exécutable
    Par Ljungberg dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 03/02/2006, 10h37

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