diff --git a/package_manager/src/ProcessFactory.php b/package_manager/src/ProcessFactory.php index 6fc84dc9864e3e851e282a2baf32066f32d4a397..a839864465e08b1cf1c01832d35ddac8942174e5 100644 --- a/package_manager/src/ProcessFactory.php +++ b/package_manager/src/ProcessFactory.php @@ -47,10 +47,16 @@ final class ProcessFactory implements ProcessFactoryInterface { * {@inheritdoc} */ public function create(array $command): Process { + if ($this->isComposerCommand($command)) { + array_unshift($command, '-dpcre.jit=0'); + array_unshift($command, PHP_BINARY); + $composer_command = TRUE; + } + $process = $this->decorated->create($command); $env = $process->getEnv(); - if ($this->isComposerCommand($command)) { + if ($this->isComposerCommand($command) || isset($composer_command)) { $env['COMPOSER_HOME'] = $this->getComposerHomePath(); } // Ensure that the running PHP binary is in the PATH.