Wie kann ich einen Befehl (app/console execute: mein: Befehl) in einem Dienst über neue Process ausführen?Symfony Process - Befehl aus dem Service ausführen
Ich versuche dies:
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
$process = new Process(
'app/console execute:my:command'
);
$process->start();
Aber nichts passiert ... Wenn ich es manuell über das Terminal aufrufen funktioniert es:
app/console execute:my:command
Was mache ich falsch?
Bearbeiten - Lösung: Wir müssen den gesamten Pfad schreiben. In meinem Fall:
($this->kernelRootDir is : %kernel.root_dir%)
$processString = sprintf(
'php %s/../app/console %s %s',
$this->kernelRootDir,
self::MY_COMMAND,
$myArgument
);
$process = new Process($processString);
$process->start();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
allgemein festgelegt haben Sie haben versucht, einen Pfad zu PHP cli hinter app/console hinzuzufügen? –