2017-09-14 13 views
0

実行時にbashスクリプトを実行する職人コマンドを取得したいと考えています。だから私は、次のLaravel 5 - Artisanコマンドを作成してbashスクリプトを実行する方法

php artisan make:command backupList --command=backup:list

そして、ここを使って職人のコマンドを作成しました

は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'); 
} 
} 

()幹部とはshell_execが動作していないようですシェル内でbashを実行する職人のコマンドを得るための選択肢はありますか?

答えて

1

を使用することができます。

$this->exec('ls -la'); 

あなたは簡単に行うことができ、次のことをやった

// execute command 
exec("ls -la", $output); 

// print output from command 
$this->comment(implode(PHP_EOL, $output)); 
+0

は:Dあなたが素晴らしいです。ありがとうございました! – jukerok

1

Laravelはコアでシンフォニーを使用しているため、すでにLaravelに実装されているシンフォニーコンポーネントを使用することができます。このような状況のためには使用よりもむしろこの1

http://symfony.com/doc/current/components/process.html

関連する問題