>  기사  >  PHP 프레임워크  >  Laravel에서 Shell 명령을 실행하는 방법에 대해 이야기해 주세요.

Laravel에서 Shell 명령을 실행하는 방법에 대해 이야기해 주세요.

藏色散人
藏色散人앞으로
2021-11-26 14:56:283304검색

다음 튜토리얼 칼럼인 Laravel에서는 Laravel에서 Shell 명령어를 실행하는 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다!

Laravel에서 Shell 명령을 실행하는 방법에 대해 이야기해 주세요.

shell_exec()exec()는 모두 쉘 명령을 실행할 수 있습니다. shell_exec() 和 exec() 都可以执行 shell 命令。

如果你的命令不知道因为什么原因而崩溃,你将不会知道其原因 —— 因为shell_exec() 和 exec()알 수 없는 이유로 명령이 충돌하는 경우 이유를 알 수 없습니다. shell_exec()exec()는 예외를 발생시키지 않기 때문입니다.

그들은 조용히 실패할 뿐입니다.

이것이 내 솔루션입니다.
    use Symfony\Component\Process\Process;
    
    class ShellCommand
    {
        public static function execute($cmd): string
        {
            $process = Process::fromShellCommandline($cmd);
    
            $processOutput = '';
    
            $captureOutput = function ($type, $line) use (&$processOutput) {
                $processOutput .= $line;
            };
    
            $process->setTimeout(null)
                ->run($captureOutput);
    
            if ($process->getExitCode()) {
                $exception = new ShellCommandFailedException($cmd . " - " . $processOutput);
                report($exception);
    
                throw $exception;
            }
    
            return $processOutput;
        }
    }
  • Symfony의 프로세스 구성 요소를 사용합니다. 관련 권장 사항: 최신 Laravel 비디오 튜토리얼 5개

    이 방법을 사용하면 사용자 정의 예외를 발생시키거나, 명령 및 출력을 기록하거나, 로그에 기록하여 문제를 찾을 수 있습니다.
    관련 추천: 라라벨 최신 5개 튜토리얼 영상

    원본 주소: https://dev.to/kodeas/executing-shell-commands-in-laravel-1098

    번역 주소: https:/ / learnku.com/laravel/t/63048
    🎜

    위 내용은 Laravel에서 Shell 명령을 실행하는 방법에 대해 이야기해 주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

  • 성명:
    이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제