spatie / laravel-remote
Execute Artisan commands on remote servers
Fund package maintenance!
spatie
Installs: 51 596
Dependents: 2
Suggesters: 0
Security: 0
Stars: 265
Watchers: 4
Forks: 32
Open Issues: 0
Requires
- php: ^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- spatie/laravel-package-tools: ^1.9
- spatie/ssh: ^1.5
Requires (Dev)
- orchestra/testbench: ^6.23|^7.0|^8.0|^9.0
- pestphp/pest-plugin-laravel: ^1.3|^2.3
- phpunit/phpunit: ^9.4|^10.5
- spatie/laravel-ray: ^1.9
- spatie/pest-plugin-snapshots: ^1.1|^2.1
- spatie/phpunit-snapshot-assertions: ^4.2|^5.1
- spatie/ray: ^1.21
README
This package provides a command to execute Artisan command on a remote server.
Here's an example that will clear the cache on the remote server.
php artisan remote cache:clear
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
You can install the package via composer:
composer require spatie/laravel-remote
You can publish the config file with:
php artisan vendor:publish --tag="remote-config"
This is the contents of the published config file:
return [ /* * This host will be used if none is specified * when executing the `remote` command. */ 'default_host' => 'default', /* * When set to true, A confirmation prompt will be shown before executing the `remote` command. */ 'needs_confirmation' => env('REMOTE_NEEDS_CONFIRMATION', false), /* * Here you can define the hosts where the commands should be executed. */ 'hosts' => [ 'default' => [ 'host' => env('REMOTE_HOST'), 'port' => env('REMOTE_PORT', 22), 'user' => env('REMOTE_USER'), /* * The package will cd to the given path before executing the given command. */ 'path' => env('REMOTE_PATH'), /* * Optional. Path to the private key on your computer if your remote server requires it. */ 'privateKeyPath' => env('REMOTE_PRIVATE_KEY_PATH'), /* * Optional. Path to the php binary on your remote server. */ 'phpPath' => env('REMOTE_PHP_PATH', 'php'), ] ], ];
Usage
To execute a command on the remote server use the remote
Artisan command. You can pass any artisan command that you would like to execute on the server.
Here's an example where we clear the cache.
php artisan remote cache:clear
Executing raw commands
If you want to execute a bash command, use the --raw
option.
Here we will get a list of files on the server.
php artisan remote ls --raw
Using another host
You can define hosts in the config file. By default, the default
host is used. To execute a command on another host use the --host
option.
php artisan remote cache:clear --host=my-other-host
Using options in remote commands
If you need to use flags or options in the command you're trying to execute, you can wrap the entire command in quotes:
php artisan remote --raw "ls -a"
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.