Wenn Sie Befehle von Ihrer PHP-Anwendung ausführen möchten, würde ich die Verwendung der Symfony-Prozesskomponente empfehlen:
-
Führen Sie
composer require symfony/process
aus -
Importieren Sie die Klasse mit
use Symfony\Component\Process\Process;
in Ihre Datei -
Führen Sie Ihren Befehl aus:
$process = new Process(['rm', '/var/www/html/test.html']); $process->run();
Wenn Sie Laravel verwenden, sollten Sie Schritt 1 überspringen können.
Alternativ (wenn der Prozess, der PHP ausführt, die richtigen Berechtigungen hat) könnten Sie einfach die Funktion unlink() von PHP verwenden, um die Datei zu löschen:
unlink('/var/www/html/test.html');
Ich würde dies mit dem tun, was das Framework bereits bereitstellt:
1) Erzeugen Sie zuerst eine Befehlsklasse:
php artisan make:command TestClean
Dadurch wird eine Befehlsklasse in App\Console\Commands
generiertSchreiben Sie dann in die handle-Methode dieser Befehlsklasse:
@unlink('/var/www/html/test.html');
Geben Sie Ihrem Befehl einen Namen und eine Beschreibung und führen Sie Folgendes aus:
php artisan list
Nur um zu bestätigen, dass Ihr Befehl aufgeführt ist.
2) Importieren Sie in Ihren Controller Artisan-Fassade.
use Artisan;
3) Schreiben Sie in Ihrem Controller dann Folgendes:
Artisan::call('test:clean');
Weitere Verwendungszwecke finden Sie in den Dokumenten:https://laravel.com/docs/5.7/artisan#generating-commands