Bonjour,
Je travail avec CakePHP pour développer une petite application.
Je possède divers sites internet et il m'arrive souvent de les basculer en maintenance, production...etc.
Je passe par le SSH pour exécuter ce script Shell et y faire les actions que j'ai besoin.
Ma petite application contient un menu à gauche avec la liste des sites, au centre, le statut du site (En maintenance ou en ligne), en dessous, un apperçu du site (iframe) et deux boutons pour passer en maintenance ou en production.
J'aimerais savoir comment exécuter ce script Shell via PHP et CakePHP et comment récupérer le retour après l’exécution pour savoir si sa s'est bien déroulé.
Merci de votre aide ;)
Salut,
Alors, en bref, tu as trois entrées/sorties sur un programme / commande etc
Elles sont :
-une sortie standard (1)
-une sortie d'erreur (2)
-une entrée standard (3)
Par défaut, l'entrée standard est le clavier, la sortie standard et la sortie d'erreur sont l'écran.
Pour rediriger la sortie vers un fichier, c'est avec ">", comme ceci :
ls -l > foo
Pour rediriger l'entrée, c'est avec "<", comme ceci (la commande lira le ficher au lieu du clavier) :
less < foo
Si tu veux rediriger la sortie standard et la sortie d'erreur, il faut par exemple utiliser :
2>&1
Avec ça tu peux exécuter ton script, rediriger les sorties que tu veux dans un fichier, et lire le résultat de ce fichier quand tu le souhaite.
Ah ben si je peux utiliser cela.
Je savais pas si avec CakePHP, il y avait une autre méthode (En relation avec la console Shell).
Et avec cette fonction, est-il possible de récupérer ce qui suit l’exécution du script Shell ? Un genre de log ?
Bonsoir,
rien ne t'empêche de rediriger la sortie standard du script vers un fichier. Il y aura tout dedans, à toi de faire ce que tu en veux après
bien cordialement
antho
Et comment dois-je procéder ? Vous entendez quoi par sortie standard du script ?
Car j'aimerais récupérer ce qu'il y a dans la console linux une fois avoir exécuter mon shell.
Parfait ! Merci :)
Il me reste à régler des soucis de permissions au niveau des fichiers et apache.