- Add
Process::setIgnoredSignals()
to disable signal propagation to the child process
- Add
PhpSubprocess
to handle PHP subprocesses that take over the configuration from their parent - Add
RunProcessMessage
andRunProcessMessageHandler
- added
Process::setOptions()
to setProcess
specific options - added option
create_new_console
to allow a subprocess to continue to run after the main script exited, both on Linux and on Windows
- added
Process::getStartTime()
to retrieve the start time of the process as float
- removed
Process::inheritEnvironmentVariables()
- removed
PhpProcess::setPhpBinary()
Process
must be instantiated with a command array, useProcess::fromShellCommandline()
when the command should be parsed by the shell- removed
Process::setCommandLine()
- deprecated
Process::inheritEnvironmentVariables()
: env variables are always inherited. - added
Process::getLastOutputTime()
method
- added the
Process::fromShellCommandline()
to run commands in a shell wrapper - deprecated passing a command as string when creating a
Process
instance - deprecated the
Process::setCommandline()
and thePhpProcess::setPhpBinary()
methods - added the
Process::waitUntil()
method to wait for the process only for a specific output, then continue the normal execution of your application
- added the
Process::isTtySupported()
method that allows to check for TTY support - made
PhpExecutableFinder
look for thePHP_BINARY
env var when searching the php binary - added the
ProcessSignaledException
class to properly catch signaled process errors
- environment variables will always be inherited
- added a second
array $env = []
argument to thestart()
,run()
,mustRun()
, andrestart()
methods of theProcess
class - added a second
array $env = []
argument to thestart()
method of thePhpProcess
class - the
ProcessUtils::escapeArgument()
method has been removed - the
areEnvironmentVariablesInherited()
,getOptions()
, andsetOptions()
methods of theProcess
class have been removed - support for passing
proc_open()
options has been removed - removed the
ProcessBuilder
class, use theProcess
class instead - removed the
getEnhanceWindowsCompatibility()
andsetEnhanceWindowsCompatibility()
methods of theProcess
class - passing a not existing working directory to the constructor of the
Symfony\Component\Process\Process
class is not supported anymore
- deprecated the ProcessBuilder class
- deprecated calling
Process::start()
without setting a valid working directory beforehand (viasetWorkingDirectory()
or constructor)
- added command line arrays in the
Process
class - added
$env
argument toProcess::start()
,run()
,mustRun()
andrestart()
methods - deprecated the
ProcessUtils::escapeArgument()
method - deprecated not inheriting environment variables
- deprecated configuring
proc_open()
options - deprecated configuring enhanced Windows compatibility
- deprecated configuring enhanced sigchild compatibility
- added support for PTY mode
- added the convenience method "mustRun"
- deprecation: Process::setStdin() is deprecated in favor of Process::setInput()
- deprecation: Process::getStdin() is deprecated in favor of Process::getInput()
- deprecation: Process::setInput() and ProcessBuilder::setInput() do not accept non-scalar types
- added the ability to define an idle timeout
- added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
- added Process::signal()
- added Process::getPid()
- added support for a TTY mode
- added ProcessBuilder::setArguments() to reset the arguments on a builder
- added a way to retrieve the standard and error output incrementally
- added Process:restart()
- added support for non-blocking processes (start(), wait(), isRunning(), stop())
- enhanced Windows compatibility
- added Process::getExitCodeText() that returns a string representation for the exit code returned by the process
- added ProcessBuilder