Heim >PHP-Framework >Laravel >Sprechen Sie darüber, wie man Shell-Befehle in Laravel ausführt?

Sprechen Sie darüber, wie man Shell-Befehle in Laravel ausführt?

藏色散人
藏色散人nach vorne
2021-11-26 14:56:283364Durchsuche

In der folgenden Tutorial-Kolumne von Laravel erfahren Sie, wie Sie Shell-Befehle in Laravel ausführen. Ich hoffe, es wird Ihnen hilfreich sein!

Sprechen Sie darüber, wie man Shell-Befehle in Laravel ausführt?

shell_exec() und exec() können beide Shell-Befehle ausführen. shell_exec() 和 exec() 都可以执行 shell 命令。

如果你的命令不知道因为什么原因而崩溃,你将不会知道其原因 —— 因为shell_exec() 和 exec()Wenn Ihr Befehl aus unbekannten Gründen abstürzt, wissen Sie nicht, warum – weil shell_exec() und exec() keine Ausnahme auslösen,

Sie scheitern einfach stillschweigend.

Das ist meine Lösung:
    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;
        }
    }
  • Sie verwendet die Prozesskomponente von Symfony. Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials

    Mit dieser Methode kann ich eine benutzerdefinierte Ausnahme auslösen, den Befehl und die Ausgabe aufzeichnen oder mich im Protokoll anmelden, um Probleme zu finden.
    Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials

    Originaladresse: https://dev.to/kodeas/executing-shell-commands-in-laravel-1098

    Übersetzungsadresse: https:/ / learnku.com/laravel/t/63048
    🎜

    Das obige ist der detaillierte Inhalt vonSprechen Sie darüber, wie man Shell-Befehle in Laravel ausführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

  • Stellungnahme:
    Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen