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

  FORUM HardWare.fr
  Programmation
  PHP

  Executer un BASH a partir d'un bouton

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Executer un BASH a partir d'un bouton

n°1720512
petitmr
<----- Cogito Ergo Sum ------>
Posté le 20-04-2008 à 15:12:54  profilanswer
 

Bonjour à tous,
 
Voila, je n'y connais rien en PHP, mais j'ai besoin de créé une page contenant 2 boutons pour lancer et arrêter un serveur de jeu depuis le net
 
J'ai essayé cà, mais ca ne fonctionne pas:
 
 
 
<?php
 
  function prog() {
    exec ('scontrol-monserveur-start.sh');
  }
 
?>
 
<input type="button" value="Lancer le serveur" OnClick="prog();">
 
 
<?php
 
  function prog1() {
    exec ('scontrol-monserveur-stop.sh');
  }
 
?>
 
<input type="button" value="Stopper le serveur" OnClick="prog1();">
 
 
 
 
Mais cela ne fonctionne pas.
 
Serait il possible d'avoir un peu d'aide.
 
Je vous remercie d'avance.
 
PS: je précise que j'essaie en PHP pour le mettre sur un serveur qui tourne sous "Linux server web Apache", je ne sais pas si ça a une incidence sur la programmation, mais je précise quand même.

Message cité 1 fois
Message édité par petitmr le 20-04-2008 à 15:23:28
mood
Publicité
Posté le 20-04-2008 à 15:12:54  profilanswer
 

n°1720514
skeye
Posté le 20-04-2008 à 15:27:46  profilanswer
 

[:pingouino]

 

Le php est exécuté sur le serveur. C'est tout ce que j'ai à dire.


Message édité par skeye le 20-04-2008 à 15:28:00

---------------
Can't buy what I want because it's free -
n°1720517
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 15:33:09  profilanswer
 

c'est à dire?
 
Tout ce que je veux cest mettre une page codée en PHP sur le serveur, afin de pouvoir lancer mon serveur de jeu à distance


Message édité par petitmr le 20-04-2008 à 15:33:25
n°1720518
skeye
Posté le 20-04-2008 à 15:35:41  profilanswer
 

Et moi tout ce que je te dis, c'est que php est exécuté par le serveur, et qu'un serveur n'a aucune idée de ce qu'est un clic dans le navigateur.
 
Partant de là, à toi de voir quel est le problème de ton code...


---------------
Can't buy what I want because it's free -
n°1720519
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 15:39:55  profilanswer
 

Ben sachant que j'y connais rien, je suis pas près de comprendre quel est le problème de mon code.


Message édité par petitmr le 20-04-2008 à 15:44:26
n°1720520
skeye
Posté le 20-04-2008 à 15:41:20  profilanswer
 

Alors commence par apprendre un peu les bases?

 

onclick attend du javascript. ton navigateur n'a aucune idée de ce qu'il est censé faire quant tu cliques ton bouton, là.
Il faut que ton formulaire appelle une page php qui va faire ce qu'il faut sur le serveur.


Message édité par skeye le 20-04-2008 à 15:41:27

---------------
Can't buy what I want because it's free -
n°1720521
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 15:44:29  profilanswer
 

Tout ce que je sais, c'est que j'ai 2 scripts .sh, l'un pour lancer le serveur, l'autre pour le stopper. Et j'aimerai pouvoir les exécuter à partir d'une page PHP.
 
Donc, si je te suis bien, soit j'oublie le PHP pour lancer mes scripts ou soit j'oublie le OnClick

n°1720522
skeye
Posté le 20-04-2008 à 15:45:23  profilanswer
 

non, tu ne suis pas bien. mais tu oublies le onclick.


---------------
Can't buy what I want because it's free -
n°1720524
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 15:48:25  profilanswer
 

Apprendre le PHP ça ne m'intéresse même pas, je veux juste un peu d'aide de la part de quelqu'un qui m'explique ce que je dois faire pour que ca marche.
 
Je viens de passer 2h sur Google pour essayer de comprendre....

n°1720525
skeye
Posté le 20-04-2008 à 15:49:22  profilanswer
 

Le problème c'est qu'ici on n'est pas là pour faire les choses à ta place.[:skeye]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 20-04-2008 à 15:49:22  profilanswer
 

n°1720529
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 15:54:55  profilanswer
 

Hého, tout ce que je demande c'est un coup de main.
CE qui est sûr c'est que pour le moment avec tes réponses je suis pas prêt d'avancer vu que je n'y comprends rien.

n°1720531
skeye
Posté le 20-04-2008 à 15:58:28  profilanswer
 

Je ne t'ai rien dit de compliqué.[:skeye]
il faut que tes boutons appellent des pages php qui vont exécuter tes scripts bash. Rien de bien complexe à comprendre!


---------------
Can't buy what I want because it's free -
n°1720536
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 16:07:45  profilanswer
 

Si je te suis bien, en faisant ça je suis sur la bonne voie:
 
 
 
 <HTML>
 <HEAD>
 <TITLE>Exemple</TITLE>
 </HEAD>
 
 <BODY>
 
 
 <*SCRIPT language="Javascript">
 
 <INPUT TYPE="button" Value="Lancer le serveur" onclick="window.location='mapagePHP1.php';">
 
 
 <INPUT TYPE="button" Value="Stopper le serveur" onclick="window.location='mapagePHP2.php';">
 
 
 </SCRIPT>
 
 
 
 </FORM>
 </BODY>
 </HTML>

n°1720539
skeye
Posté le 20-04-2008 à 16:09:42  profilanswer
 

si on veut. Le javascript ne te sert à rien, il suffit d'un simple lien pour appeler une page php. Mais le principe est là.


---------------
Can't buy what I want because it's free -
n°1720540
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 16:09:59  profilanswer
 

après pour mapagePHP1.php
 
<?php
 
   exec ('scontrol-monserveur-start.sh');
 
?>
 
 
et pour mapagePHP2.php
 
<?php
 
   exec ('scontrol-monserveur-stop.sh');
 
?>
 
 
 
 
 
Le Javascript c'est pour avoir mes boutons


Message édité par petitmr le 20-04-2008 à 16:10:58
n°1720541
skeye
Posté le 20-04-2008 à 16:10:26  profilanswer
 

voilà, en gros c'est ça.


---------------
Can't buy what I want because it's free -
n°1720544
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 16:11:56  profilanswer
 

en gros????
 
je vais testé, on va voir,
 
Merci de ton aide, je te tiens au courant

n°1720566
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 16:55:56  profilanswer
 

voili voilou, je viens d'essayer et cela ne fonctionne pas. est ce que j'ai oublié quelques choses dans mes pages 1 et 2 ?

n°1720577
masterpsx
Aigloun foutougrafe
Posté le 20-04-2008 à 17:38:16  profilanswer
 

Je crois surtout que tu essayes de faire quelque chose de completement impossible, on execute pas un script bash de n'importe ou et n'importe comment.

n°1720587
skeye
Posté le 20-04-2008 à 18:06:47  profilanswer
 

petitmr a écrit :

voili voilou, je viens d'essayer et cela ne fonctionne pas. est ce que j'ai oublié quelques choses dans mes pages 1 et 2 ?


 
quelle est l'erreur?
 

masterpsx a écrit :

Je crois surtout que tu essayes de faire quelque chose de completement impossible, on execute pas un script bash de n'importe ou et n'importe comment.


mais bien sur que si c'est possible d'exécuter une commande sur le serveur.:o


---------------
Can't buy what I want because it's free -
n°1720596
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 18:21:07  profilanswer
 

Donc, j'ai bien ma page avec mes 2 boutons qui renvoyent chacun a une page contentant les scripts PHP pour lancer et stopper mon serveur.
 
J'ai fais exactement comme dans mon post précédent, sauf que quand je clique sur le bouton "Lancer le serveur" ben; il ne se lance pas.
j'ai pi etre une erreur dans mon script PHP:
 
après pour mapagePHP1.php
 
<?php
 
   exec ('scontrol-monserveur-start.sh');
 
?>  
 

Message cité 1 fois
Message édité par petitmr le 20-04-2008 à 18:25:25
n°1720598
masterpsx
Aigloun foutougrafe
Posté le 20-04-2008 à 18:42:27  profilanswer
 


 

skeye a écrit :


mais bien sur que si c'est possible d'exécuter une commande sur le serveur.:o


J'ai pas dis que d'executer une commande est impossible, c'est ce qu'il veut faire qui ne l'est pas, tu crois une seconde qu'un serveur de jeu, un serveur apache et un script bash peut se trouver au même endroit ?

n°1720605
skeye
Posté le 20-04-2008 à 18:59:07  profilanswer
 

petitmr a écrit :

Donc, j'ai bien ma page avec mes 2 boutons qui renvoyent chacun a une page contentant les scripts PHP pour lancer et stopper mon serveur.
 
J'ai fais exactement comme dans mon post précédent, sauf que quand je clique sur le bouton "Lancer le serveur" ben; il ne se lance pas.
j'ai pi etre une erreur dans mon script PHP:
 
après pour mapagePHP1.php
 
<?php
 
   exec ('scontrol-monserveur-start.sh');
 
?>  
 


 
il faut que tu récupères le résultat de la commande exec pour vérifier que tout se passe bien: http://fr2.php.net/manual/fr/function.exec.php . Ton script .sh est dans le même répertoire que ton fichier php?
 

masterpsx a écrit :


J'ai pas dis que d'executer une commande est impossible, c'est ce qu'il veut faire qui ne l'est pas, tu crois une seconde qu'un serveur de jeu, un serveur apache et un script bash peut se trouver au même endroit ?


 
sur le même serveur? oui.


---------------
Can't buy what I want because it's free -
n°1720631
masterpsx
Aigloun foutougrafe
Posté le 20-04-2008 à 20:26:38  profilanswer
 

skeye a écrit :


 
sur le même serveur? oui.


Un serveur de jeu ne s'installe dans Apache comme un vulgaire site web, ca peut pas être dans le même repertoire et il faut avoir les droits pour pouvoir executer un fichier. Tu ne sais même pas d'ou il essaye d'executer son script bash ni même ce qu'il contient ou encore si le site web est bien sur la même machine, c'est la 1er chose a verifier.

n°1720633
skeye
Posté le 20-04-2008 à 20:28:24  profilanswer
 

masterpsx a écrit :


Un serveur de jeu ne s'installe dans Apache comme un vulgaire site web, ca peut pas être dans le même repertoire et il faut avoir les droits pour pouvoir executer un fichier. Tu ne sais même pas d'ou il essaye d'executer son script bash ni même ce qu'il contient ou encore si le site web est bien sur la même machine, c'est la 1er chose a verifier.


 
ok, merci pour les conseils captain obvious.
On va procéder par étapes si tu veux bien, il y connait rien.


---------------
Can't buy what I want because it's free -
n°1720650
masterpsx
Aigloun foutougrafe
Posté le 20-04-2008 à 21:19:29  profilanswer
 

skeye a écrit :


 
ok, merci pour les conseils captain obvious.


T'est bien gentil mais ce genre de réflexion tu te les gardes, je suis pas ton pote.

n°1720678
petitmr
&lt;----- Cogito Ergo Sum ------&gt;
Posté le 20-04-2008 à 22:29:45  profilanswer
 

Le serveur web et serveur de jeu sont bien sur la même machine, et le script bash contient:  
 
screen -dms ./etded +set dedicated 2 +set fs_game etpub +set net_ip xxxx +set net_port xxxx +exec server.cfg
 
ensuite  les fichiers php ne sont pas sur le même emplacement que les fichiers serveur, c'est à dire qu'au lieu d'avoir le site dans /var/www/  ,  j'ai un lien qui pointe vers /home/utilisateur/site/   et mes fichiers php sont là avec ceux du site web.
 
 
 

Message cité 1 fois
Message édité par petitmr le 20-04-2008 à 22:33:09
n°1720708
skeye
Posté le 21-04-2008 à 01:21:14  profilanswer
 

petitmr a écrit :

Le serveur web et serveur de jeu sont bien sur la même machine, et le script bash contient:  
 
screen -dms ./etded +set dedicated 2 +set fs_game etpub +set net_ip xxxx +set net_port xxxx +exec server.cfg
 
ensuite  les fichiers php ne sont pas sur le même emplacement que les fichiers serveur, c'est à dire qu'au lieu d'avoir le site dans /var/www/  ,  j'ai un lien qui pointe vers /home/utilisateur/site/   et mes fichiers php sont là avec ceux du site web.
 
 
 


 
alors dans ton fichier php tu dois donner le chemin absolu vers tes fichiers bash.


---------------
Can't buy what I want because it's free -
n°1720710
skeye
Posté le 21-04-2008 à 01:24:54  profilanswer
 

masterpsx a écrit :

T'est bien gentil mais ce genre de réflexion tu te les gardes, je suis pas ton pote.


Alors garde tes "c'est impossible" ridicules pour toi aussi. Ou bien explique-lui aussi ce qui ne va pas ou pourrait ne pas aller.


---------------
Can't buy what I want because it's free -
n°1720809
masterpsx
Aigloun foutougrafe
Posté le 21-04-2008 à 10:53:09  profilanswer
 

skeye a écrit :


Alors garde tes "c'est impossible" ridicules pour toi aussi. Ou bien explique-lui aussi ce qui ne va pas ou pourrait ne pas aller.


A la base ma réponse ne te concerne pas que je sache, tu te prend pour qui, je t'ai demandé ton avis peut être ? Je ne t'ai pas insulté ni manqué de respect alors merci de faire de même.
 
Quand a ce qui vas pas, c'est évident non et n'a rien avoir avec son script PHP, soit il a copié son bash dans son repertoire web avec ses fichiers PHP soit il essaye de le lancer juste en mettant son nom alors qu'il n'est même pas au même endroit, dans les 2 cas il peut toujours essayer longtemps. Je suis loin d'être un spécialiste serveur mais de ma petite experience, je crois savoir qu'il y a aussi des droits d'utilisateurs. Ce qu'il a essayé de faire est impossible, je le maintient, c'est pas aussi simple et il y a des configurations à vérifier, des path a connaitre ect...
 
Bref tout ceci ne concerne pas vraiment PHP et aurait plus sa place dans "réseaux et sécurité"  mais libre à toi de résoudre son prôblème.
     
 
 

n°1720826
skeye
Posté le 21-04-2008 à 11:01:03  profilanswer
 

masterpsx a écrit :


A la base ma réponse ne te concerne pas que je sache


dans la mesure où tu me contredis en me prenant pour une tache, plus ou moins, si.
 
 

masterpsx a écrit :

Quand a ce qui vas pas, c'est évident non


 
Justement, pour lui non, il a déjà dit plusieurs fois qu'il était débutant.
 
 

masterpsx a écrit :


 et n'a rien avoir avec son script PHP, soit il a copié son bash dans son repertoire web avec ses fichiers PHP soit il essaye de le lancer juste en mettant son nom alors qu'il n'est même pas au même endroit, dans les 2 cas il peut toujours essayer longtemps. Je suis loin d'être un spécialiste serveur mais de ma petite experience, je crois savoir qu'il y a aussi des droits d'utilisateurs.


 
Bien sur qu'il faut prendre en compte tout ça, mais il fallait commencer par lui faire comprendre comment ça pouvait se passer, avant de rentrer dans les détails. Si tu lui annonces tout ça d'entrée alors qu'il ne fait pas la distinction entre code serveur et client tu n'arriveras jamais à lui faire réussir son programme.
 

masterpsx a écrit :

Ce qu'il a essayé de faire est impossible, je le maintient


 
Non, non et non, ce n'est pas impossible, si tu le soutiens c'est toi qui n'y connais rien et tu ferais mieux d'aller voir ailleurs si des gens on besoin de t'entendre leur raconter des conneries. Ce qu'il a fait jusqu'ici est naïf, bien entendu, mais en prenant les problèmes un par un il arrivera à une solution. Il n'y a aucune raison que ce ne soit pas faisable.
 
 

masterpsx a écrit :

Bref tout ceci ne concerne pas vraiment PHP et aurait plus sa place dans "réseaux et sécurité"  mais libre à toi de résoudre son prôblème.


 
C'est à 100% du php - la partie spécifique "exécution de commandes serveur" de php, oui, mais ses problèmes sont intégralement liés à php, pas à autre chose.


---------------
Can't buy what I want because it's free -
n°1720839
___alt
Posté le 21-04-2008 à 11:08:49  profilanswer
 

Problème:

petitmr a écrit :

J'ai essayé cà, mais ca ne fonctionne pas:


 
Origine du problème:

petitmr a écrit :

Voila, je n'y connais rien en PHP


 
Solution au problème:
Apprends le PHP.
 
Moi quand j'achète une machine à laver, une perceuse, un four, une console de jeu, un appareil photo, un meuble IKEA ou un jeu de société, je commence par lire le manuel pour comprendre comment ça marche. Un langage de programmation c'est pareil, c'est pas un machin qu'on bidouille un peu au pif et qui marche miraculeusement hein [:moule_bite]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°1720840
___alt
Posté le 21-04-2008 à 11:09:50  profilanswer
 

masterpsx a écrit :


T'est bien gentil mais ce genre de réflexion tu te les gardes, je suis pas ton pote.


 
VAZY DOU TU ME JUGE JTE CONNAI PAS ZYVA BATAR /§§
 
 
olol


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°1720906
masterpsx
Aigloun foutougrafe
Posté le 21-04-2008 à 12:02:46  profilanswer
 

skeye a écrit :


dans la mesure où tu me contredis en me prenant pour une tache, plus ou moins, si.


Je ne t'ai jamais contredis, son script était faux et tu l'aides a le corriger, j'ai jamais dis le contraire ou que tu avais tord. Je pense simplement que c'est pas le php le problème, j'ai le droit d'avoir un avis différent du tiens non ? Mon 1er message s'adressait uniquement à lui et n'avait aucun lien avec tes réponses, c'est toi derriére qui me contredis, si quelqu'un a essayé de faire passer l'autre pour un con c'est bien toi.

skeye a écrit :


Non, non et non, ce n'est pas impossible, si tu le soutiens c'est toi qui n'y connais rien et tu ferais mieux d'aller voir ailleurs si des gens on besoin de t'entendre leur raconter des conneries. Ce qu'il a fait jusqu'ici est naïf, bien entendu, mais en prenant les problèmes un par un il arrivera à une solution. Il n'y a aucune raison que ce ne soit pas faisable.


Ce que tu n'arrives pas a comprendre c'est que je ne dis pas que lancer/fermer un serveur de jeux via un espace web sur la même machine est impossible, c'est la façon dont il s'y est pris qui n'a aucune chance de fonctioner. Maintenant si tu as la patience et le temps de lui expliquer tout, vas-y et amuses toi bien.
 
 
Bref, je vais pas polémiquer avec toi, tu est surement beaucoup plus qualifié que moi et bien plus intelligent, j'essaye avec mes modestes connaissances d'aider un peu. Je te demande juste d'eviter les reflexions désobligeante avec moi, tu n'as qu'a simplement m'ignorer comme je compte le faire avec toi.

n°1720910
skeye
Posté le 21-04-2008 à 12:06:06  profilanswer
 

masterpsx a écrit :

Je ne t'ai jamais contredis


 
en disant que c'est impossible sans plus de précisions, si. Enfin bref, si tu ne sais pas faire la distinction entre "c'est impossible" et "ton programme est incorrect" je ne peux pas grand chose pour toi.
 

masterpsx a écrit :

son script était faux et tu l'aides a le corriger


 
Et c'est le but d'un forum.


---------------
Can't buy what I want because it's free -
n°1720953
masterpsx
Aigloun foutougrafe
Posté le 21-04-2008 à 13:20:41  profilanswer
 

skeye a écrit :


en disant que c'est impossible sans plus de précisions, si. Enfin bref, si tu ne sais pas faire la distinction entre "c'est impossible" et "ton programme est incorrect" je ne peux pas grand chose pour toi.


Son script est correct, tu l'as aidé toi même à le corriger, pour moi le problème ne viens pas du codage mais de ce qu'il cherchait à en faire d'ou mon intervention dans ce topic puisqu'il est revenu pour dire que ca ne fonctionait toujours pas malgré ton aide. Relis mon 1er message, je n'ai jamais remis en cause le codage ou la fonction exec(), je parle du fichier bash qui pour moi, depuis le début, est la source du problème, je vois vraiment pas en quoi je te contredis à ce moment la.  
 
Si je rentre pas dans les détails c'est simplement que j'en vois pas l'interet et que j'estime que ca n'a plus sa place dans ce forum, on n'a pas le droit d'avoir un avis différent du tiens ou tu as la science infuse peut être ? C'est un forum public il me semble et tu n'est ni un modérateur ni un administrateur, j'ai quand même le droit de participer à un topic sans te demander ton avis. Que mes messages ne te convienent pas c'est ton prôblème et ne te donne pas le droit de m'insulter ou me manquer de respect.
 
Bref, je vais pas y passer la journée non plus, on n'est pas obligé de s'adresser l'un à l'autre même si on participe au même topic alors autant s'ignorer plutot que de rentrer dans des polémiques stériles et sans interêt, c'est en tout cas ce que je ferais pour ma part.

mood
Publicité
Posté le   profilanswer
 


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

  Executer un BASH a partir d'un bouton

 

Sujets relatifs
Commencer la recherche au rang 'n' de la chaine[XSL] comment inserer un bouton dans une page xsl
Changer la value d'un bouton Radio par son IDRESOLU PHP lecteur mp3 / lire mp3 a partir d'un dossier
Easy bash linux, une ligne mais c'est loin dans ma tête..[VBA] Petite question pour bouton sur Excel
Obtenir les schema a partir d'une BDDFormulaire --> Calcul automatique à partir de valeurs récupérées
Récupérer les données à partir des zones de textes[Oracle] Executer des procédures ds une liste d'attente avec les job?
Plus de sujets relatifs à : Executer un BASH a partir d'un bouton


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