Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
858 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Ouverture Terminal Linux + Ligne de commande

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouverture Terminal Linux + Ligne de commande

n°2200225
covin85
Posté le 17-08-2013 à 18:39:17  profilanswer
 

Bonjour,
 
Sous "Mint" , je souhaite quand appuyant (en local) sur un lien PHP s'ouvre le terminal linux et exécute une requête.
Je souhaite que le terminal reste ouvert et affiche le résultat.
 
Actuellement voici comment j'opère :
 
Page : Test.php
 

Code :
  1. <?
  2. exec('/var/www/Script/Hello.sh');
  3. ?>


 
Script : Hello.sh

Code :
  1. #!/bin/bash
  2. ifconfig


 
Dans cette config, en appelant la page Test.php, la page reste blanche.
Avec un echo : résultat idem.
 
Si je modifie le Hello.sh avec "echo "Hello !", la page PHP affiche "Hello !" mais aucune ouverture de terminal.
 
Pourriez vous m'indiquer une piste de résolution car actuellement aucune de mes tentatives n'a abouties.
 
Merci :)

mood
Publicité
Posté le 17-08-2013 à 18:39:17  profilanswer
 

n°2200234
deejay59
Posté le 18-08-2013 à 10:58:39  profilanswer
 

Je ne pense pas que tu puisses afficher le retour de la console.
Donc ce que je te conseille c est dans ton script Hello.sh
 

Code :
  1. #!/bin/bash
  2.     ifconfig > /var/www/Script/result_script.txt


le " > /var/www/Script/result_script.txt " va envoyer le retour du resultat d ifconfig dans le fichier texte.
et avec ton code php d'afficher le contenu du fichier /var/www/Script/result_script.txt

n°2200236
covin85
Posté le 18-08-2013 à 14:07:34  profilanswer
 

Merci pour la réponse.
 
Pensez vous qu'il aurais un langage WEB capable de faire cela ? (ouverture terminal + exécution ligne de commande)

n°2200245
Profil sup​primé
Posté le 18-08-2013 à 17:10:18  answer
 

Bonjour, je sais pas.
tu préfèrerais pas un xterm ?

n°2200270
deejay59
Posté le 19-08-2013 à 09:49:19  profilanswer
 

Non je ne pense pas qu un langage web permet de faire ca par souci de sécurité.
Il faut que tes pages php soient sur le meme serveur qui exécutent les scripts.
Explique plus précisement ta demande car tu peux contourner le problème mais en terme de sécurité ca sera porte ouverte... tout dépend si c est pour un usage en local ou sur le web...


Message édité par deejay59 le 19-08-2013 à 09:50:15
n°2200271
covin85
Posté le 19-08-2013 à 09:58:33  profilanswer
 

Cela concerne une interface WEB en local permettant l’exécution de commande linux.
 
Le but est d'appuyer sur un bouton qui ouvre un terminal avec une commande précise.

n°2200272
deejay59
Posté le 19-08-2013 à 10:11:37  profilanswer
 

Attention c est pas du tout extra en terme de sécurité... mais pour te dépanner...
ouvrir un terminal déja ca sera pas possible.
La commande sera effectué avec l'utilisateur qui execute apache donc verifie bien les droits de cet utilisateur.
 
Page : Test.php  

Code :
  1. <?
  2.     exec('/var/www/Script/execute.sh '.$_GET["cmd"]);
  3.      echo file_get_contents('/var/www/Script/result_script.txt');
  4.     ?>


Le script execute.sh :

Code :
  1. #!/bin/bash
  2. eval $1 > /var/www/Script/result_script.txt


 
exemple d'utilisation -> Test.php?cmd=ifconfig
 
perso je vois la chose comme ca après y a surement une meilleure solution de maniere plus sécurisé.
 
 
edit: correction sur le script execute c est pas un sh mais un eval


Message édité par deejay59 le 19-08-2013 à 10:22:36
n°2200276
FranceDenB​as
1 dépense = 1 socialiss' :o
Posté le 19-08-2013 à 11:37:26  profilanswer
 

shell_exec c'est pas plus simple ?
 
http://fr2.php.net/shell_exec


---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
n°2200277
deejay59
Posté le 19-08-2013 à 11:41:19  profilanswer
 

Je ne connaissais pas cette fonction, merci pour l'info si un jour j en ai besoin ;)

n°2200294
FranceDenB​as
1 dépense = 1 socialiss' :o
Posté le 19-08-2013 à 14:50:09  profilanswer
 

Je précises aussi pour la manière de faire pour covin85:
PHP est un langage côté serveur, tout processus lancé par lui (sauf utilisations de f() particulières) se lancera sur le serveur web, donc faut oublier les interfaces graphiques, et plutôt raisonner en terme de ligne de commande.


Message édité par FranceDenBas le 19-08-2013 à 14:50:24

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
mood
Publicité
Posté le 19-08-2013 à 14:50:09  profilanswer
 

n°2200396
covin85
Posté le 20-08-2013 à 16:20:26  profilanswer
 

Merci pour la commande "its'work" !!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Ouverture Terminal Linux + Ligne de commande

 

Sujets relatifs
[Topic unic][Ada][Gnu/Linux] La programmation pas à pas.xls erreur sur code "If Target =" lors d'insertion de ligne
Probleme JAVA en ligne de commandeCommande cp dans un script PERL
Incrémenter des quantités par ligne jusqu'à une valeur cible globaleAjout automatique d'une ligne sur excel avec couleur
[BAT] Comment ajouter une ligne en début de fichier ?Récupération d'une ligne de terminal dans une variable
Plus de sujets relatifs à : Ouverture Terminal Linux + Ligne de commande


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR