You may execute arbitrary Bash commands from the Commands panel. Commands are executed from within the site's root directory, e.g.
/home/forge/site.com. If you need to run commands within another directory you may prefix the command with a
cd bin && ./run-command.sh
# Running Commands
Commands can be executed from the Site's Commands panel.
Sites that were created with the General PHP / Laravel project type will automatically suggest common Laravel Artisan commands.
Commands are not executed within a tty, which means that input / passwords cannot be provided.
# Command History
The last 10 previously executed commands will be shown within the Command History table. Alongside the command that was run, Forge will also display:
- The user who initiated the command. This is particularly helpful when using Forge within Circles.
- The command that was executed.
- The date and time of execution.
- The status of the command.
From the Command History table, it's also possible to view the output of the command and re-run the command.
# Commands vs. Recipes
While Recipes also allow you to run arbitrary Bash scripts on your servers, Commands differ in a few, but important ways:
- Recipes run at a server level. In other words, they cannot dynamically change into a site's directory unless you already know the directory ahead of time.
- Recipes can run using the
rootuser. Commands only run as the site's user, which in most cases will be
forgeunless the site is "isolated".
- Recipes are better equipped for running larger Bash scripts. Commands focus on running short commands, such as
php artisan config:cache.