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

藏色散人
풀어 주다: 2021-11-26 14:56:28
앞으로
3204명이 탐색했습니다.

다음 튜토리얼 칼럼인 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으로 문의하세요.
    최신 이슈
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!