Laravel でシェルコマンドを実行する方法について話しますか?

藏色散人
リリース: 2021-11-26 14:56:28
転載
3304 人が閲覧しました

Laravelのチュートリアルコラムでは、Laravelでシェルコマンドを実行する方法を紹介していますので、お役に立てれば幸いです。

Laravel でシェルコマンドを実行する方法について話しますか?

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 の Process コンポーネントを使用します。関連する推奨事項: 最新の 5 つの Laravel ビデオ チュートリアル
このメソッドを使用すると、カスタム例外をスローしたり、コマンドと出力を記録したり、ログに記録して問題を見つけることができます。

関連する推奨事項:
最新の 5 つの Laravel ビデオ チュートリアル

元のアドレス: https://dev.to/kodeas/executing-shell -コマンド-in-laravel-1098

翻訳アドレス: https://learnku.com/laravel/t/63048

以上がLaravel でシェルコマンドを実行する方法について話しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!