GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menjalankan perintah shell eksternal dari pengontrol laravel?

Jika Anda ingin menjalankan perintah dari aplikasi PHP Anda, saya akan merekomendasikan menggunakan Symfony Process Component:

  1. Jalankan composer require symfony/process

  2. Impor kelas ke file Anda dengan use Symfony\Component\Process\Process;

  3. Jalankan perintah Anda:

    $process = new Process(['rm', '/var/www/html/test.html']);
    
    $process->run();
    

Jika Anda menggunakan Laravel, Anda seharusnya dapat melewati Langkah 1.

Alternatifnya, (jika proses yang menjalankan php memiliki izin yang benar) Anda cukup menggunakan fungsi unlink() PHP untuk menghapus file:

unlink('/var/www/html/test.html');
 

Saya akan melakukan ini dengan apa yang sudah disediakan oleh framework:

1) Pertama, buat kelas perintah:

php artisan make:command TestClean

Ini akan menghasilkan kelas perintah di App\Console\Commands

Kemudian di dalam metode pegangan dari kelas perintah itu tulis:

@unlink('/var/www/html/test.html');

Berikan perintah Anda nama dan deskripsi dan jalankan:

php artisan list

Hanya untuk mengonfirmasi perintah Anda terdaftar.

2) Di pengontrol Anda, impor Artisan fasad.

use Artisan;

3) Di pengontrol Anda, tulis yang berikut ini:

Artisan::call('test:clean');

Silakan merujuk ke dokumen untuk penggunaan lebih lanjut:https://laravel.com/docs/5.7/artisan#generating-commands


Linux
  1. Bagaimana Cara Menjalankan Perintah di Shell Tanpa Menyimpannya ke Riwayat? [Kiat Linux]

  2. Bagaimana Memetakan Satu Perintah Vim Untuk Menjalankan Perintah Bash Berdasarkan Os?

  3. Jalankan Perintah Shell dari Program yang berjalan di WINE

  1. Bagaimana cara Menghapus baris 'n' Pertama/Terakhir dari output perintah di Shell?

  2. Bagaimana saya bisa mengeksekusi kode PHP dari baris perintah?

  3. Bagaimana cara mengeksekusi kode di shell Django dengan skrip python eksternal?

  1. Inti Dari Perintah Eksternal `cd`?

  2. Bagaimana Cara Memulihkan Pekerjaan Latar Belakang Dari Shell Sebelumnya??

  3. Bagaimana Mengeksekusi Perintah Di Gnuplot Menggunakan Script Shell?