La page Commandes d'un site exécute une seule commande, une fois, dans le répertoire live du site, comme php artisan migrate --force, php artisan cache:clear ou composer dump-autoload. Pas besoin de terminal ni de SSH : vous tapez la commande, cliquez sur Exécuter et lisez la sortie une fois qu'elle est terminée.
Chaque commande lancée reste dans l'Historique avec sa sortie et son statut, pour voir ce qui a été lancé, par qui, et la relancer.

Lancer une commande
- Ouvrez le site et cliquez sur Commandes dans sa barre latérale.
- Sous Lancer une commande, tapez la commande. Pour les sites Laravel et Statamic, le champ commence par
php artisan. - Cliquez sur Exécuter.
La commande tourne comme tâche en arrière-plan, et son entrée s'ouvre dans l'Historique en dessous, avec la sortie au fur et à mesure. Vous pouvez quitter la page : la commande continue sur le serveur, et vous pouvez aussi la suivre sur la page activité.
Où et comment une commande s'exécute-t-elle ?
- Dans le répertoire live : la release en ligne,
current/dans le répertoire du site, ou la racine de monorepo à l'intérieur, par exemple/home/vimonto/shop.example.com/current. La page affiche le chemin exact sous le champ. Un site jamais déployé n'a pas encore de répertoire live ; la commande échoue alors avec un message qui le dit. - Avec l'utilisateur du site : l'utilisateur système du serveur, ou l'utilisateur propre d'un site isolé. La description de la page nomme l'utilisateur.
- Avec la version de PHP du site : pour les sites PHP,
phpetcomposerutilisent la version de PHP réglée dans les Paramètres du site (la page indique laquelle), doncphp artisanutilise le même PHP que le site lui-même. - Une ligne : une commande tient sur une ligne de 2 000 caractères au plus. Pour en lancer plusieurs, enchaînez-les avec
&&, par exemplephp artisan down && php artisan migrate --force && php artisan up.
Une commande qui se termine par une erreur marque son entrée comme échouée, avec l'erreur au-dessus de la sortie.
Les commandes ne sont pas interactives : rien ne peut être saisi pendant qu'elles tournent. Une commande qui pose une question, comme php artisan migrate en production sans --force, reste bloquée là. Ajoutez l'option qui y répond, ou utilisez le terminal pour tout ce qui est interactif.
Lire la sortie et relancer une commande
L'Historique liste les 50 dernières commandes du site, les plus récentes en premier, avec qui les a lancées, quand, et leur statut (En file d'attente, en cours, terminée ou échouée). Les commandes plus anciennes et leur sortie sont supprimées.
- Cliquez sur une commande pour afficher ou masquer sa sortie.
- Cliquez sur Réutiliser pour remettre la commande dans le champ. Vérifiez-la ou modifiez-la, puis cliquez sur Exécuter.
Qui peut lancer des commandes ?
Chaque membre peut voir l'historique et la sortie. Lancer une commande et Réutiliser nécessitent la permission de gérer les sites (propriétaire, administrateur, manager et développeur), et le site et son serveur doivent être actifs. Consultez membres et rôles.
Chaque commande lancée est enregistrée dans le journal d'audit, avec qui l'a lancée.
Un site sur un load balancer n'a pas de page Commandes : il n'a pas de code propre. Lancez les commandes sur les sites de ses serveurs d'application.
Questions fréquentes
Comment lancer les migrations après un déploiement ?
Pour chaque déploiement, mettez $VIMONTO_PHP artisan migrate --force dans le script de déploiement. Pour une migration ponctuelle, lancez php artisan migrate --force ici.
Puis-je lancer une commande en root ?
Non. Les commandes tournent avec l'utilisateur du site. Pour travailler en root, utilisez le terminal ou une recette.
Puis-je lancer quelque chose qui continue de tourner, comme un worker de file d'attente ?
Pas ici : une commande doit se terminer. Les processus qui tournent en continu se gèrent sous files d'attente et planificateur, où ils sont maintenus en marche et redémarrés.