下面带大家介绍关于怎么在 Laravel 中执行 Shell 命令,希望对大家有所帮助!
shell_exec()和exec()都可以执行 shell 命令。
如果你的命令不知道因为什么原因而崩溃,你将不会知道其原因 —— 因为shell_exec()和exec()不会抛出异常,他们只是默默地执行失败了。
这是我的解决方案:
useSymfony\Component\Process\Process;classShellCommand{publicstaticfunctionexecute($cmd):string{$process=Process::fromShellCommandline($cmd);$processOutput='';$captureOutput=function($type,$line)use(&$processOutput){$processOutput.=$line;};$process->setTimeout(null)->run($captureOutput);if($process->getExitCode()){$exception=newShellCommandFailedException($cmd."-".$processOutput);report($exception);throw$exception;}return$processOutput;}}
它使用了 Symfony's 的 Process 组件。
使用这种方法,我可以抛出一个自定义异常,记录命令和输出,或者是记录到日志以寻找问题。
原文地址:https://dev.to/kodeas/executing-shell-commands-in-laravel-1098
译文地址:https://learnku.com/laravel/t/63048
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/41515.html;