Si vous souhaitez exécuter des commandes à partir de votre application PHP, je vous recommande d'utiliser le composant de processus Symfony :
-
Exécutez
composer require symfony/process
-
Importez la classe dans votre fichier avec
use Symfony\Component\Process\Process;
-
Exécutez votre commande :
$process = new Process(['rm', '/var/www/html/test.html']); $process->run();
Si vous utilisez Laravel, vous devriez pouvoir ignorer l'étape 1.
Alternativement, (si le processus exécutant php a les bonnes autorisations), vous pouvez simplement utiliser la fonction unlink() de PHP pour supprimer le fichier :
unlink('/var/www/html/test.html');
Je ferais cela avec ce que le framework fournit déjà :
1) Générez d'abord une classe de commandes :
php artisan make:command TestClean
Cela générera une classe de commande dans App\Console\Commands
Ensuite, dans la méthode handle de cette classe de commande, écrivez :
@unlink('/var/www/html/test.html');
Donnez un nom et une description à votre commande et exécutez :
php artisan list
Juste pour confirmer que votre commande est répertoriée.
2) Dans votre contrôleur, importez la façade Artisan.
use Artisan;
3) Dans votre manette écrivez alors ce qui suit :
Artisan::call('test:clean');
Veuillez vous référer à la documentation pour d'autres utilisations :https://laravel.com/docs/5.7/artisan#generating-commands