# Artisan en andere commando's uitvoeren op een site

> Voer een eenmalig commando zoals php artisan migrate uit in de live map van een site, als haar gebruiker en met haar PHP-versie, met de output in een verloop.

De pagina **Commando's** van een site voert één commando eenmalig uit in de live map van de site, zoals `php artisan migrate --force`, `php artisan cache:clear` of `composer dump-autoload`. Je hebt geen terminal of SSH nodig: je typt het commando, klikt op **Uitvoeren** en leest de output als het klaar is.

Elk commando dat je uitvoert blijft in het **Verloop** staan met zijn output en status, zodat je ziet wat er is uitgevoerd, door wie, en het opnieuw kunt uitvoeren.

![De pagina Commando's van een site met een invoerveld en het verloop van eerdere commando's met hun status](https://ops.vimonto.com/docs-media/nl/site-commands.webp?v=161e760d "Commando's uitvoeren op een site")

## Een commando uitvoeren

1. Open de site en klik in de zijbalk op **Commando's**.
2. Typ onder **Een commando uitvoeren** het commando. Bij Laravel- en Statamic-sites begint het veld met `php artisan `.
3. Klik op **Uitvoeren**.

Het commando draait als achtergrondtaak, en het item gaat open in het **Verloop** eronder, met de output zodra die binnenkomt. Je kunt de pagina verlaten: het commando blijft op de server draaien, en je kunt het ook volgen op de pagina [activiteit](https://ops.vimonto.com/docs/nl/organization/activity).

## Waar en hoe draait een commando?

- **In de live map**: de release die nu live is, `current/` in de map van de site, of de monorepo-rootmap daarin, bijvoorbeeld `/home/vimonto/shop.example.com/current`. De pagina toont het precieze pad onder het veld. Een site die nog nooit gedeployd is heeft nog geen live map; het commando mislukt dan met een melding daarover.
- **Als de gebruiker van de site**: de systeemgebruiker van de server, of de eigen gebruiker van een [geïsoleerde site](https://ops.vimonto.com/docs/nl/sites/site-settings#website-isolatie). De beschrijving van de pagina noemt de gebruiker.
- **Met de PHP-versie van de site**: bij PHP-sites gebruiken `php` en `composer` de PHP-versie die in de **Instellingen** van de site staat (de pagina toont welke), dus `php artisan` gebruikt dezelfde PHP als de site zelf.
- **Eén regel**: een commando is één regel van maximaal 2.000 tekens. Wil je er meer uitvoeren, koppel ze dan met `&&`, bijvoorbeeld `php artisan down && php artisan migrate --force && php artisan up`.

Een commando dat met een fout eindigt, markeert zijn item als mislukt, met de fout boven de output.

Commando's zijn niet interactief: er kan niets getypt worden terwijl ze draaien. Een commando dat een vraag stelt, zoals `php artisan migrate` in productie zonder `--force`, blijft daar hangen. Voeg de optie toe die de vraag beantwoordt, of gebruik de [terminal](https://ops.vimonto.com/docs/nl/servers/terminal) voor alles wat interactief is.

## De output lezen en een commando opnieuw uitvoeren

Het **Verloop** toont de laatste 50 commando's van de site, nieuwste eerst, met wie ze uitvoerde, wanneer, en hun status (**In de wachtrij**, bezig, klaar of mislukt). Oudere commando's en hun output worden verwijderd.

- Klik op een commando om de output te tonen of te verbergen.
- Klik op **Opnieuw gebruiken** om het commando terug in het veld te zetten. Controleer of wijzig het en klik op **Uitvoeren**.

## Wie kan commando's uitvoeren?

Elk lid kan het verloop en de output zien. Een commando uitvoeren en **Opnieuw gebruiken** vereisen het recht om sites te beheren (eigenaar, beheerder, manager en developer), en de site en haar server moeten actief zijn. Zie [leden en rollen](https://ops.vimonto.com/docs/nl/organization/members-and-roles).

Elk uitgevoerd commando wordt vastgelegd in het [auditlog](https://ops.vimonto.com/docs/nl/organization/audit-log), met wie het uitvoerde.

Een site op een [load balancer](https://ops.vimonto.com/docs/nl/sites/load-balancing) heeft geen pagina **Commando's**: ze heeft geen eigen code. Voer commando's uit op de sites van haar app-servers.

## Veelgestelde vragen

### Hoe voer ik migraties uit na een deploy?

Zet voor elke deploy `$VIMONTO_PHP artisan migrate --force` in het [deployscript](https://ops.vimonto.com/docs/nl/sites/deployments#het-deployscript-bewerken). Voor een eenmalige migratie voer je hier `php artisan migrate --force` uit.

### Kan ik een commando als root uitvoeren?

Nee. Commando's draaien als de gebruiker van de site. Voor werk als root gebruik je de [terminal](https://ops.vimonto.com/docs/nl/servers/terminal) of een [recept](https://ops.vimonto.com/docs/nl/more/recipes).

### Kan ik iets uitvoeren dat blijft draaien, zoals een queue worker?

Niet hier: een commando hoort klaar te komen. Processen die blijven draaien horen onder [wachtrijen en scheduler](https://ops.vimonto.com/docs/nl/sites/queues-and-scheduler), waar ze draaiende gehouden en herstart worden.
