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 :

Appeler un script shell


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 18
    Points
    18
    Par défaut Appeler un script shell
    bonjour, est ce que quelqu'un sais comment on peut faire pour qu'un script PHP peut exécuter un script shell sur un serveur linux pour pouvoir afficher les résultat fournée par ce script shelle
    merci

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    La fonction exec() n'est-elle pas faite pour ça ?
    Fred

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    peut tu me donner un exemple stp merci

  4. #4
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Il y a quelques exemples ici.
    Fred

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    oui c'est sa mais on faite j'ai un script shell (fonction.sh) qui appel une fonction java qui permet de créer des rapport et moi je veux pouvoir appeler le script fonction.sh et pas écrire la commande comment je peux faire ça
    string shell_exec ( string cmd)

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2009
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonjour, as-tu essayé de le lancer de la même façon que sous un terminal unix:
    ./script.sh
    et donc
    exec('./script.sh')

    Je l'ai déjà fais sur une page php, j'ai l'exemple concret chez moi, au pire si cela ne fonctionne pas je te donne un bout de script fonctionnel ce soir.

    Mateuy

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    oui j'ai essayer mais sa m'affiche rien

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2009
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Voilà j'ai retrouvé mon script, il permet d'ouvrir et fermer le lecteur optique de mon serveur UNIX

    Voilà exactement la ligne correpondante au lancement d'un script :
    exec ("./test");

    Je te passe tous les scripts, ils fonctionnent mais il y a un léger bug lors de l'enchainement d'ouverture/fermeture du lecteur optique.

    Script test : ouverture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/bash
     
    eject -r
    Script test2 : fermeture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/bash
     
    eject -t
    Index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <?php
    
    if(!isset($_POST['test']))
    {
    
    echo '
    
    <form method="post" action="index.php">
    	<tr>
    		<td><input type="hidden" value="0" name="cdrom" /></td>
    	</tr>
    	<tr>
    		<td><input type="submit" value="Ouvrir le lecteur" name="test" /></td>
    	</tr>
    </form>
    
    
    ';
    
    
    }
    else
    {
    
    $lecteur=$_POST['cdrom'];
    
        	if($lecteur == 0 )
            {
    	
            $lecteur=1;
    
    	exec ("./test");
            echo 'Lecteur ouvert !!';
            echo '
                    <form method="post" action="index.php">
                            <tr>
    				<td><input type="hidden" value="1" name="cdrom" /></td>
                                    <td><input type="submit" value="Fermer le lecteur" name="test" /></td>
                            </tr>
                    </form>
            ';
            }
            else
            {
    	
            $lecteur=0;
    
            exec ("./test2");
    
            echo 'Lecteur ferm&eacute;.';
            echo '
                    <form method="post" action="index.php">
                            <tr>
    				<td><input type="hidden" value="0" name="cdrom" /></td>
                                    <td><input type="submit" value="Fermer le lecteur" name="test" /></td>
                            </tr>
                    </form>
            ';
            }
    
    }
    ?>
    Pour rechercher tout autre problème :
    >> places le script dans le dossier racine du site web pour éliminer l'hypothèse de s'être trompé dans le chemin.
    >> vérifies que ton serveur WEB (je suppose que c'est Apache) possède les droits nécessaires pour exécuter le script. Les droits pour mes scripts sont ci-dessous :



    Le propriétaire et le groupe sont en www-data.

    Voilà j'espère que cela t'aidera .

    Mateuy

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    merci bcp c'est vraiment gentil de ta part je vais modifie mon code...

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2009
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Mais de rien

Discussions similaires

  1. Appel de script shell depuis python
    Par Marc_27 dans le forum Général Python
    Réponses: 0
    Dernier message: 15/04/2015, 11h06
  2. Réponses: 8
    Dernier message: 25/08/2011, 14h14
  3. appel de script shell depuis un script bat
    Par jonathan1 dans le forum Windows
    Réponses: 0
    Dernier message: 18/11/2009, 12h34
  4. Appeller un script shell argumenté
    Par habiba dans le forum Linux
    Réponses: 6
    Dernier message: 03/09/2008, 18h41
  5. Appeller un script shell dans une page html
    Par Scurz dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/05/2007, 14h50

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