Open BugBuster1701 opened 7 months ago
use Symfony\Component\Process\PhpExecutableFinder;
$phpFinder = new PhpExecutableFinder();
$phpPath = $phpFinder->find();
// Erstellen Sie ein neues Process-Objekt
$process = new Process([$phpPath, 'bin/console', 'your:command', 'arg1', 'arg2']);
https://symfony.com/doc/6.4/components/process.html
https://symfony.com/doc/6.4/components/process.html#executing-a-php-child-process-with-the-same-configuration
Ab Symfony 6, daher eingrenzen in composer.json.
"symfony/process": "^6.4",
Falls auch für Contao 4.13 nötig, dann direkt mit Process.
z.B. um das interne DB Backup zu starten.
contao-console contao:backup:create --no-interaction --quiet
Idee aus Forum.
Variante 1 (ungetestet, der ruft auch /bin/console auf, nicht die contao-console)
Variante 2 als Subprocess (ungetestet)
Hier mit Callback Funktion:
Den
Symfony\Component\Process\PhpExecutableFinder
wird man noch brauchen um das richtige PHP CLI zu finden.