Bouton sur un site envoyant une commande sur un VPS

guiguir68
Invité n'ayant pas de compte PHPfrance

04 janv. 2013, 01:41

Bonjour,

Je dispose d'un VPS sous Ubuntu. J'ai hébergé un site web grâce à Apache sur celui-ci.

Je voudrai mettre sur ce site un bouton qui exécute une certaine commande sur mon VPS dans un terminal et lancer un programme.

Voici ma page test nommée "index.php"

<?php
if(isset($_GET['action']) && $_GET['action'] == "echo Ca marche !")
{
    shell_exec("echo Ca marche !");
}
?>

<form method="GET" action="index.php?action=echo Ca marche !">
    <input type="submit" value="Executer la commande"/>
</form>

Dans mon cas , je voudrai que lorsqu'on clique sur le bouton, un terminal s'ouvre sur mon VPS avec écrit "Ca marche !"

Mais ça ne fonctionne pas. Pourquoi ?

Voici le rendu : http://guiguir68.tk/


Merci, Cordialement, Guiguir68.

ViPHP
ViPHP | 2577 Messages

04 janv. 2013, 09:15

Peut être :
echo '<pre>',shell_exec("echo Ca marche !"),'</pre>";
Par contre pour que ca ressemble à un terminal, il y a encore un peu de html et de css à faire.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 janv. 2013, 10:58

salut,


pour être plus explicite tu ne pourras pas ouvrir un véritable terminale au sens ou tu l'entend.

Comme l'indique mazarini il faut que tu récupère le retour de la commande shell et que tu l'affiche dans la page.
Peu importe le rendu, ce n'est "que de l'affichage".


@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

04 janv. 2013, 11:27

Si tu ne vois pas de terminal s'ouvrir sur ton VPS en mode graphique c'est parce que tu ne te connectes pas avec l'utilisateur d'Apache.
Apache possède son propre utilisateur.
Il y a aussi des configurations il me semble pour faire des exécutions silencieuses qui peuvent impacter le fait de ne pas voir de fenêtre.

Mais comme dit précédemment tu t'en fiches un peu de voir ou non un terminal, le but est l'action.
Et la manière d'afficher qu'elle s'est bien exécutée n'est qu'un rendu (voir le message de moogli).

guiguir68
Invité n'ayant pas de compte PHPfrance

04 janv. 2013, 14:47

Comment alors exécuter un programme par exemple gadmin-proftpd avec cette méthode ?

ViPHP
ViPHP | 2577 Messages

04 janv. 2013, 15:04

A mon avis, ce n'est pas fait pour ca. C'est juste pour exécuter des lignes de commandes. Pour ce que tu veux faire, regardes plutot du coté de vnc ou de ssh avec X.

A priori sur un serveur on utilise pas de serveur X, on en reste à la ligne de commande. webmin ou alternc peuvent peut être te convenir. Le premier permet de la gestion de la configuration d'un serveur. Le second permet plus de gérer de l'hébergement sur un serveur. Mais rien ne remplace ssh.

guiguir68
Invité n'ayant pas de compte PHPfrance

05 janv. 2013, 00:26

Ok merci beaucoup.

Bonne soirée, Cordialement, Guillaume.