我需要从控制器执行 shell 命令,但不仅限于项目内的文件,例如。系统( ‘rm /var/www/html/test.html’ )或系统( ‘sudo unzip /var/www/html/test.zip’ );
我调用该函数但没有任何反应,知道如何从控制器执行外部 shell 命令,例如删除另一个目录中的一个文件吗?
system('rm /var/www/html/test.html');
//or
exec('rm /var/www/html/test.html')
原文由 AnonS 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想从 PHP 应用程序运行命令,我建议您使用 Symfony Process Component :
运行
composer require symfony/process
使用
use Symfony\Component\Process\Process;
将类导入到您的文件中执行你的命令:
如果你使用的是 Laravel,你应该可以跳过第 1 步。
或者,(如果运行 php 的进程具有正确的权限)您可以简单地使用 PHP 的 unlink() 函数来删除文件: