Bonsoir, une erreur remontée?
tu essayes de lancer une commande qui nécéssite les droits root là non ?
bonjour,
j'ai essayé de faire fonctionner une commande linux en php, avec $m en notification, mais les commande ne s’exécute pas.
je script en question
if (isset($_GET'srv'])) {
if ($_GET'srv'] == 'start') {
if(shell_exec("/etc/init.d/craft4time start")){
$m'class'] = "success";
$m'msg'] = "Le serveur a bien été démarré";
}else{
$m'class'] = "error";
$m'msg'] = "Une erreur de communication est survenue";
}
} elseif($_GET'srv'] == 'stop') {
if(shell_exec("/etc/init.d/craft4time stop")){
$m'class'] = "success";
$m'msg'] = "Le serveur a bien été stoppé";
}else{
$m'class'] = "error";
$m'msg'] = "Une erreur de communication est survenue";
}
}elseif ($_GET'srv'] == 'restart') {
if(shell_exec("/etc/init.d/craft4time restart")){
$m'class'] = "success";
$m'msg'] = "Le serveur a bien été redémarré";
}else{
$m'class'] = "error";
$m'msg'] = "Une erreur de communication est survenue";
}
}elseif ($_GET'srv'] == 'info') {
$m'class'] = "info";
$m'msg'] = shell_exec("/etc/init.d/craft4time");
}
}
Merci de votre aide.
17 réponses
le fichier a les doit en root, et non aucune erreur
...JsonAPI à tu pensé à ceci ? :p
non, c'est quoi?
Un utilitaire (plugin) pour bukkit pour exécuter des commande
http://dev.bukkit.org/bukkit-plugins/jsonapi/
Ça, n pugin pour ton serveur, en gros tu peux contrôler tout ton serveur Minecraft, et aussi récupérer des infos avec différent langage web et autre, il y a du PHP, JS, et même NodeJS
Ps: à tu essayer les commande exec(); ?
Enlève les Shell_exec et mes exec à la place
oui j'ai essayé la fonction exec()
Hum... Bizard ça ..
Le fichier a les droits en root ?? c'est à dire? quel fichier?
<?php echo shell_exec('whoami'); ?> devrait sans doute t'éclaircir. Poste la sortie.
au pire des cas crée a la racine du disque un dossier 777 test puis fait
shell_exec("/etc/init.d/craft4time start >> /test/log.txt ")
puis vas lire le log
as-tu vérifié si cette commande n'est pas désactiver dans le php.ini.
car elle fait partie des commandes à désactiver sur un serveur pour des raisons de sécurité;
une autre piste serait de vérifier les valeurs de retour à l’exécution de ta commande.
Ca me retourne la commande est c'es tous
pour la sécurité je suis sur un dédié kimsufi
Qu'as retournée whoami ??
Bonjour,
Essaie la commande "sudo".
http://www.linuxhomenetworking.com/wiki/index.php/Quick\_HOWTO\_%3a\_Ch09\_%3a\_Linux\_Users\_and\_Sudo
sudo oui mais attention .. S'il s'agit d'un problème de droit, il ne faut surtout pas donner à l'utilisateur web les droits root sur ton serveur!! il faut lui donner l'autorisation d''accèder à certaines commandes en tant que root mais uniquement celles la !
http://blogmotion.fr/systeme/executer-un-script-shell-avec-permission-root-en-php-1312