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?

藏色散人
Freigeben: 2021-11-26 14:56:28
nach vorne
3376 Leute haben es durchsucht

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;
        }
    }
    Nach dem Login kopieren
  • 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!

  • Verwandte Etiketten:
    Quelle:learnku.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage