Bonjour à tous,
Je me suis lancé depuis peu a la création d'un GamePannel pour une utilisation personnelle. Je me suis renseigné où je pouvais pour savoir quel était le language le plus adapté, et tout ma orienté vers la lib php SSH2.
Le problème est donc le suivant, dans mon script je compte donc rebooté, lancer ou simplement stoppé un serveur de jeux sur un de mes serveurs dédié.
Je me connecte donc avec SSH (aucun souci de se coté là) mais celui-ci ne veut pas faire les commandes voulues. J'ai donc tester des commandes simple (pour savoir si ca ne planté pas niveau serveur) donc j'ai tester un simple mkdir et ca ma bien crée le dossier.
Avant d'exposé ma fonction je me pose une question:
Vaut il mieu gerer tout ca avec des shell ou bien lancé les commandes via SSH ? Pour ma part j'essaye via SSH directement mais apparement ce n'est pas concluant.
Bon voici mes fonction qui bug ,sans aucun message d'erreurs et qui m'affiche bien "Serveur Stop" en sortie:
Voici une des partie de la fonction où l'action stoppé est effectué. J'avais aussi pensé à une éventualité qui est la suivante: "Le problème ne pourrait-il pas parvenir que j'essaye d'injecté une commande dans le screen mais que je n'utilise pas la bonne méthode?".
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 function commande($action, $id_commande, $slot, $boot_map, $port, $server) { $action= intval($action); //on execute nos commandes, on peut exécuter plusieurs commandes en les séparant par des ; $ip_serv = '91.***.126.10'; $user_serv = '*****'; $pass_serv = '************'; $connect= ssh2_connect($ip_serv, 22); $auth= ssh2_auth_password($connect, $user_serv, $pass_serv); if($auth) { $stream= ssh2_exec($connect, 'screen -r serveur_war'); if($stream != FALSE) { $stream= ssh2_exec($connect, 'quit'); echo'serveur STOP'; } else { echo'Erreur de commande'; } } else { echo'Mauvais User'; } }
Ne me jugé pas sur ce premier bout d'essaie avec SSH, car cette fonction est pas du tout le résultat final et les echo ne sont là que pour mes tests, et je compte bien optimisé le tout quand j'aurai réussi à arreté ce serveur
Je vous remercie d'avance pour votre aide.
Partager