Maison > cadre php > Laravel > le corps du texte

Parlez de la façon d'exécuter des commandes Shell dans Laravel ?

藏色散人
Libérer: 2021-11-26 14:56:28
avant
3299 Les gens l'ont consulté

La colonne tutorielle suivante de Laravel vous présentera comment exécuter des commandes Shell dans Laravel. J'espère qu'elle vous sera utile !

Parlez de la façon d'exécuter des commandes Shell dans Laravel ?

shell_exec() et exec() peuvent tous deux exécuter des commandes shell. shell_exec() 和 exec() 都可以执行 shell 命令。

如果你的命令不知道因为什么原因而崩溃,你将不会知道其原因 —— 因为shell_exec() 和 exec()Si votre commande plante pour des raisons inconnues, vous ne saurez pas pourquoi - car shell_exec() et exec() ne génèrent pas d'exception,

ils échouent simplement en silence.

Voici ma solution :
    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;
        }
    }
    Copier après la connexion
  • Elle utilise le composant Process de Symfony. Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

    En utilisant cette méthode, je peux lancer une exception personnalisée, enregistrer la commande et la sortie, ou me connecter au journal pour rechercher des problèmes.
    Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

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

    Adresse traduite : https:// learnku.com/laravel/t/63048
    🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

  • Étiquettes associées:
    source:learnku.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!