I want to get an artisan command to run a bash script when executed.
So I've created an artisan command using the following
php artisan make:command backupList --command=backup:list
And here is backupList.php
<?php
namespace App\Console\Commands;
require_once __DIR__ . '/vendor/autoload.php';
use Illuminate\Console\Command;
class backupDB extends Command
{
protected $signature = 'backup:list {name}';
protected $description = 'Database backup tool';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$this->exec('ls -la');
}
}
In handle() exec and shell_exec don't seem to work, are there any alternatives to get the artisan command to run bash in shell?
Rather than use:
$this->exec('ls -la');
You can simply do the following:
// execute command
exec("ls -la", $output);
// print output from command
$this->comment( implode( PHP_EOL, $output ) );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With