Laravel Remote is a package by Spatie that provides a command to execute Artisan commands on a remote server.
Introducing spatie/laravel-remote, a Laravel package to easily run @laravelphp Artisan commands on remote servers.— Freek Van der Herten 📯 (@freekmurze) March 10, 2021
Blog post: https://t.co/g1Puai020u
Repo: https://t.co/f4MDXc85gS#laravel #php #package pic.twitter.com/n3BJFOXhq5
Here are some examples of remote commands from the documentation:
php artisan remote cache:clear# Raw ls command on the serverphp artisan remote ls --raw# Raw ls with flagsphp artisan remote --raw "ls -a"# Defining which host configuration to usephp artisan remote cache:clear --host=my-other-host
At the heart of the package's configuration, you define hosts for remote servers that you want to interact with. In order to execute a command on a given host, you can use the
--host flag for the desired configuration:
return ['hosts' => ['default' => ['host' => env('REMOTE_HOST'),'port' => env('REMOTE_PORT', 22),'user' => env('REMOTE_USER'),'path' => env('REMOTE_PATH'),],'example2' => ['host' => env('EXAMPLE2_REMOTE_HOST'),'port' => env('EXAMPLE2_REMOTE_PORT', 22),'user' => env('EXAMPLE2_REMOTE_USER'),'path' => env('EXAMPLE2_REMOTE_PATH'),],],];
Under the hood, this package uses Spatie's ssh package, a lightweight PHP library to execute commands over SSH.
If you'd like to follow the author Freek Van der Herten to see how to build this package, he live-streamed it on YouTube. Learn practical examples from one of the most prolific Laravel package developers, where he shows you tips on how to build Laravel packages from scratch:
To get started with spatie/laravel-remote, read the documentation available in the project's GitHub readme. Freek also wrote a blog post that goes into more detail about the package.
Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.