Spec-Zone.ru › Symfony 4.1

PhpProcess

class PhpProcess extends Process

PhpProcess выполняет скрипт PHP в отдельном процессе.

$p = new PhpProcess(''); $p->run(); print $p->getOutput()."\n";

Константы

ERR
OUT
STATUS_READY
STATUS_STARTED
STATUS_TERMINATED
STDIN
STDOUT
STDERR
TIMEOUT_PRECISION
ITER_NON_BLOCKING
ITER_KEEP_OUTPUT
ITER_SKIP_OUT
ITER_SKIP_ERR

Свойства

static $exitCodes Таблица преобразования кодов выхода. из Process

Методы

__construct(string $script, string $cwd = null, array $env = null, float|null $timeout = 60)
__destruct() из Process
__clone() из Process
int run(callable $callback = null, array $env = array())

Выполняет процесс.

из Process
Process mustRun(callable $callback = null, array $env = array())

Выполняет процесс.

из Process
start(callable $callback = null, array $env = array())

Запускает процесс и возвращается после записи входных данных в STDIN.

$this restart(callable $callback = null, array $env = array())

Перезапускает процесс.

из Process
int wait(callable $callback = null)

Ожидает завершения процесса.

из Process
int|null getPid()

Возвращает идентификатор процесса (Pid), если применимо.

из Process
$this signal(int $signal)

Отправляет POSIX-сигнал процессу.

из Process
$this disableOutput()

Отключает получение вывода и вывода ошибок из основного процесса.

из Process
$this enableOutput()

Включает получение вывода и вывода ошибок из основного процесса.

из Process
bool isOutputDisabled()

Возвращает true, если вывод отключен, и false в противном случае.

из Process
string getOutput()

Возвращает текущий вывод процесса (STDOUT).

из Process
string getIncrementalOutput()

Возвращает вывод по частям.

из Process
Generator getIterator(int $flags = 0)

Возвращает итератор для вывода процесса, с типом вывода в качестве ключей (Process::OUT/ERR).

из Process
$this clearOutput()

Очищает вывод процесса.

из Process
string getErrorOutput()

Возвращает текущий вывод ошибок процесса (STDERR).

из Process
string getIncrementalErrorOutput()

Возвращает вывод ошибок по частям.

из Process
$this clearErrorOutput()

Очищает вывод процесса.

из Process
int|null getExitCode()

Возвращает код выхода, возвращённый процессом.

из Process
string|null getExitCodeText()

Возвращает строковое представление кода выхода, возвращённого процессом.

из Process
bool isSuccessful()

Проверяет, завершился ли процесс успешно.

из Process
bool hasBeenSignaled()

Возвращает true, если дочерний процесс был завершен неуловленным сигналом.

из Process
int getTermSignal()

Возвращает номер сигнала, который привел к завершению выполнения дочернего процесса.

из Process
bool hasBeenStopped()

Возвращает true, если дочерний процесс был остановлен сигналом.

из Process
int getStopSignal()

Возвращает номер сигнала, который привел к остановке выполнения дочернего процесса.

из Process
bool isRunning()

Проверяет, запущен ли процесс в данный момент.

из Process
bool isStarted()

Проверяет, был ли запущен процесс, не обращая внимания на текущее состояние.

из Process
bool isTerminated()

Проверяет, завершен ли процесс.

из Process
string getStatus()

Получает состояние процесса.

из Process
int stop(int|float $timeout = 10, int $signal = null)

Останавливает процесс.

из Process
addOutput(string $line)

Добавляет строку в поток STDOUT.

из Process
addErrorOutput(string $line)

Добавляет строку в поток STDERR.

from Process
string getCommandLine()

Получает командную строку для выполнения.

from Process
Process setCommandLine(string|array $commandline)

Устанавливает командную строку для выполнения.

из Process
float|null getTimeout()

Получает таймаут процесса (максимальное время выполнения).

из Process
float|null getIdleTimeout()

Получает таймаут бездействия процесса (максимальное время с момента последнего вывода).

из Process
Process setTimeout(int|float|null $timeout)

Устанавливает таймаут процесса (максимальное время выполнения).

из Process
Process setIdleTimeout(int|float|null $timeout)

Устанавливает таймаут бездействия процесса (максимальное время с момента последнего вывода).

из Process
Process setTty(bool $tty)

Включает или отключает режим TTY.

из Process
bool isTty()

Проверяет, включен ли режим TTY.

из Process
Process setPty(bool $bool)

Устанавливает режим PTY.

из Process
bool isPty()

Возвращает состояние PTY.

из Process
строка|null getWorkingDirectory()

Получает рабочую директорию.

из Process
Process setWorkingDirectory(string $cwd)

Устанавливает текущую рабочую директорию.

из Process
массив getEnv()

Получает переменные окружения.

из Process
Process setEnv(array $env)

Устанавливает переменные окружения.

из Process
ресурс|строка|Iterator|null getInput()

Получает входные данные процесса.

из Process
Process setInput(string|int|float|bool|resource|Traversable|null $input)

Устанавливает входные данные.

из Process
Process inheritEnvironmentVariables(bool $inheritEnv = true)

Устанавливает, будут ли унаследованы переменные окружения или нет.

из Process
checkTimeout()

Выполняет проверку между определением таймаута и временем запуска процесса.

из Process
статический bool isTtySupported()

Возвращает, поддерживается ли TTY в текущей операционной системе.

из Process
статический bool isPtySupported()

Возвращает, поддерживается ли PTY в текущей операционной системе.

из Process
Closure buildCallback(callable $callback = null)

Создаёт обратный вызов, используемый методом wait().

из Process
updateStatus(bool $blocking)

Обновляет статус процесса, считывает потоки.

из Process
bool isSigchildEnabled()

Возвращает, был ли PHP скомпилирован с опцией '--enable-sigchild' или нет.

из Process
setPhpBinary($php)

Устанавливает путь к бинарному файлу PHP, который следует использовать.

Подробное описание

__construct(string $script, string $cwd = null, array $env = null, float|null $timeout = 60)

Параметры

string $script Скрипт PHP для выполнения (в виде строки)
string $cwd Рабочая директория или null для использования рабочей директории текущего процесса PHP
array $env Переменные окружения или null для использования тех же переменных окружения, что и текущий процесс PHP
float|null $timeout Таймаут в секундах или null для отключения

__destruct()

__clone()

int run(callable $callback = null, array $env = array())

Выполняет процесс.

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени. Это позволяет получать обратную связь от независимого процесса во время выполнения.

STDOUT и STDERR также доступны после завершения процесса через методы getOutput() и getErrorOutput().

Параметры

callable $callback Обратный вызов PHP, который будет выполняться всякий раз, когда появляется некоторый вывод в STDOUT или STDERR
array $env Массив дополнительных переменных среды для установки при выполнении процесса

Значение возврата

int Код возврата процесса

Исключения

RuntimeException Если процесс невозможно запустить
RuntimeException Если процесс остановлен после получения сигнала
LogicException В случае, если предоставлен обратный вызов, а вывод отключен

Process mustRun(callable $callback = null, array $env = array())

Выполняет процесс.

Это идентично run(), за исключением того, что исключение генерируется, если процесс завершается с кодом возврата не равным нулю.

Параметры

callable $callback
array $env Массив дополнительных переменных окружения для установки при запуске процесса

Значение возврата

Process

Исключения

ProcessFailedException если процесс не завершился успешно

start(callable $callback = null, array $env = array())

Запускает процесс и возвращается после записи входных данных в STDIN.

Этот метод блокируется до тех пор, пока все данные STDIN не будут отправлены в процесс, а затем возвращается, в то время как процесс выполняется в фоновом режиме.

Завершение процесса можно ожидать с помощью wait().

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени при записи стандартного ввода в процесс. Это позволяет получать обратную связь от независимого процесса во время выполнения.

Параметры

callable $callback Обратный вызов PHP, который будет выполняться всякий раз, когда появляется некоторый вывод в STDOUT или STDERR
array $env Массив дополнительных переменных среды для установки при запуске процесса

Исключения

RuntimeException Если процесс невозможно запустить
RuntimeException Если процесс уже запущен
LogicException В случае, если предоставлен обратный вызов и вывод отключен

$this restart(callable $callback = null, array $env = array())

Перезапускает процесс.

Обратите внимание, что процесс клонируется перед запуском.

Параметры

callable $callback Обратный вызов PHP, который будет выполняться всякий раз, когда появляется некоторый вывод в STDOUT или STDERR
array $env Массив дополнительных переменных среды для установки при запуске процесса

Значение возврата

$this

Исключения

RuntimeException Если процесс невозможно запустить
RuntimeException Если процесс уже запущен

См. также

start()

int wait(callable $callback = null)

Ожидает завершения процесса.

Обратный вызов получает тип вывода (out или err) и некоторые байты из вывода в реальном времени.

Параметры

callable $callback Действительный PHP обратный вызов

Значение возврата

int Код завершения процесса

Исключения

RuntimeException Если процесс превысил время ожидания
RuntimeException Если процесс остановлен после получения сигнала
LogicException Если процесс еще не запущен

int|null getPid()

Возвращает PID (идентификатор процесса), если применимо.

Значение возврата

int|null Идентификатор процесса, если запущен, иначе null

$this signal(int $signal)

Отправляет POSIX сигнал процессу.

Параметры

int $signal Действительный POSIX сигнал (см. http://www.php.net/manual/en/pcntl.constants.php)

Значение возврата

$this

Исключения

LogicException В случае, если процесс не запущен
RuntimeException В случае активации --enable-sigchild и процесс не может быть убит
RuntimeException В случае неудачи

$this disableOutput()

Отключает получение вывода и вывода ошибок от базового процесса.

Значение возврата

$this

Исключения

RuntimeException Если процесс уже запущен
LogicException если установлен таймаут бездействия

$this enableOutput()

Включает получение вывода и вывода ошибок от базового процесса.

Значение возврата

$this

Исключения

RuntimeException Если процесс уже запущен

bool isOutputDisabled()

Возвращает true, если вывод отключен, в противном случае false.

Значение возврата

bool

string getOutput()

Возвращает текущий вывод процесса (STDOUT).

Значение возврата

string Вывод процесса

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

string getIncrementalOutput()

Возвращает вывод по частям.

В сравнении с методом getOutput, который всегда возвращает весь вывод, этот метод возвращает только новый вывод с последнего вызова.

Значение возврата

string Вывод процесса с момента последнего вызова

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

Генератор getIterator(int $flags = 0)

Возвращает итератор на вывод процесса, с типом вывода в качестве ключей (Process::OUT/ERR).

Параметры

int $flags Поле флагов Process::ITER_*

Значение результата

Generator

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

$this clearOutput()

Очищает вывод процесса.

Значение результата

$this

string getErrorOutput()

Возвращает текущий вывод ошибок процесса (STDERR).

Значение результата

string Вывод ошибок процесса

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

string getIncrementalErrorOutput()

Возвращает вывод ошибок постепенно.

В сравнении с методом getErrorOutput, который всегда возвращает весь вывод ошибок, этот метод возвращает только новые данные ошибок с момента последнего вызова.

Значение результата

string Вывод ошибок процесса с момента последнего вызова

Исключения

LogicException в случае, если вывод был отключен
LogicException В случае, если процесс не запущен

$this clearErrorOutput()

Очищает вывод процесса.

Значение результата

$this

int|null getExitCode()

Возвращает код выхода, возвращенный процессом.

Значение результата

int|null Код завершения, null, если процесс не завершен

string|null getExitCodeText()

Возвращает строковое представление кода выхода, возвращенного процессом.

Этот метод полагается на стандартизацию кодов выхода в Unix и может быть неактуален для других операционных систем.

Значение результата

string|null Строковое представление кода завершения, null, если процесс не завершен

См. также

http://tldp.org/LDP/abs/html/exitcodes.html
http://en.wikipedia.org/wiki/Unix_signal

bool isSuccessful()

Проверяет, завершился ли процесс успешно.

Значение результата

bool true, если процесс завершился успешно, false в противном случае

bool hasBeenSignaled()

Возвращает true, если дочерний процесс был завершен неперехваченным сигналом.

Всегда возвращает false в Windows.

Значение результата

bool

Исключения

LogicException В случае, если процесс не завершен

int getTermSignal()

Возвращает номер сигнала, который привел к завершению выполнения дочернего процесса.

Значимо только, если hasBeenSignaled() возвращает true.

Значение результата

int

Исключения

RuntimeException В случае, если --enable-sigchild активирован
LogicException В случае, если процесс не завершен

bool hasBeenStopped()

Возвращает true, если дочерний процесс был остановлен сигналом.

Всегда возвращает false в Windows.

Значение результата

bool

Исключения

LogicException В случае, если процесс не завершен

int getStopSignal()

Возвращает номер сигнала, который привел к остановке выполнения дочернего процесса.

Значимо только, если hasBeenStopped() возвращает true.

Значение результата

int

Исключения

LogicException В случае, если процесс не завершен

bool isRunning()

Проверяет, выполняется ли процесс в данный момент.

Значение результата

bool true, если процесс выполняется, false в противном случае

bool isStarted()

Проверяет, был ли запущен процесс, независимо от текущего состояния.

Значение результата

bool true, если состояние готово, false в противном случае

bool isTerminated()

Проверяет, завершен ли процесс.

Значение результата

bool true, если процесс завершен, false в противном случае

string getStatus()

Получает состояние процесса.

Состояние может быть: готово, запущено, завершено.

Значение результата

string Текущее состояние процесса

int stop(int|float $timeout = 10, int $signal = null)

Останавливает процесс.

Параметры

int|float $timeout Таймаут в секундах
int $signal POSIX-сигнал для отправки в случае, если процесс не остановился в течение таймаута, по умолчанию SIGKILL (9)

Значение результата

int Код выхода процесса

addOutput(string $line)

Добавляет строку в поток STDOUT.

Параметры

string $line

addErrorOutput(string $line)

Добавляет строку в поток STDERR.

Параметры

string $line

string getCommandLine()

Получает командную строку для выполнения.

Значение результата

string Команда для выполнения

Process setCommandLine(string|array $commandline)

Устанавливает командную строку для выполнения.

Параметры

string|array $commandline Команда для выполнения

Значение результата

Process Текущая инстанция Process

float|null getTimeout()

Получает таймаут процесса (максимальная продолжительность работы).

Значение результата

float|null Таймаут в секундах или null, если он отключен

float|null getIdleTimeout()

Получает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Значение результата

float|null Таймаут в секундах или null, если он отключен

Process setTimeout(int|float|null $timeout)

Устанавливает таймаут процесса (максимальная продолжительность работы).

Чтобы отключить таймаут, установите это значение в null.

Параметры

int|float|null $timeout Таймаут в секундах

Значение результата

Process Текущая инстанция Process

Исключения

InvalidArgumentException если таймаут отрицательный

Process setIdleTimeout(int|float|null $timeout)

Устанавливает таймаут бездействия процесса (максимальное время с момента последнего вывода).

Чтобы отключить таймаут, установите это значение в null.

Параметры

int|float|null $timeout Таймаут в секундах

Значение результата

Процесс Текущая инстанция процесса

Исключения

LogicException если вывод отключён
InvalidArgumentException если таймаут отрицательный

Процесс setTty(bool $tty)

Включает или отключает режим TTY.

Параметры

bool $tty True для включения, false для отключения

Значение возврата

Процесс Текущая инстанция процесса

Исключения

RuntimeException В случае, если режим TTY не поддерживается

bool isTty()

Проверяет, включён ли режим TTY.

Значение возврата

bool true, если режим TTY включен, иначе false

Процесс setPty(bool $bool)

Устанавливает режим PTY.

Параметры

bool $bool

Значение возврата

Процесс

bool isPty()

Возвращает состояние PTY.

Значение возврата

bool

string|null getWorkingDirectory()

Получает рабочую директорию.

Значение возврата

string|null Текущая рабочая директория или null при ошибке

Процесс setWorkingDirectory(string $cwd)

Устанавливает текущую рабочую директорию.

Параметры

string $cwd Новая рабочая директория

Значение возврата

Процесс Текущая инстанция процесса

array getEnv()

Получает переменные окружения.

Значение возврата

array Текущие переменные окружения

Процесс setEnv(array $env)

Устанавливает переменные окружения.

Каждое значение переменной окружения должно быть строкой. Если это массив, переменная игнорируется. Если это false или null, она будет удалена при наследовании переменных окружения.

Это происходит в PHP, когда 'argv' регистрируется в массиве $_ENV, например.

Параметры

array $env Новые переменные окружения

Значение возврата

Процесс Текущая инстанция процесса

resource|string|Итератор|null getInput()

Получает входные данные процесса.

Значение возврата

resource|string|Итератор|null Входные данные процесса

Процесс setInput(string|int|float|bool|resource|Объект-итератор|null $input)

Устанавливает входные данные.

Это содержимое будет передано в стандартный вход подпроцесса.

Параметры

string|int|float|bool|resource|Объект-итератор|null $input Содержание

Значение возврата

Процесс Текущая инстанция процесса

Исключения

LogicException В случае, если процесс запущен

Процесс inheritEnvironmentVariables(bool $inheritEnv = true)

Устанавливает, будут ли наследоваться переменные окружения.

Параметры

bool $inheritEnv

Значение возврата

Процесс Текущая инстанция процесса

checkTimeout()

Выполняет проверку таймаута по отношению к времени запуска процесса.

В случае запуска фонового процесса (метод start), необходимо регулярно вызывать этот метод, чтобы гарантировать соблюдение таймаута процесса.

Исключения

ProcessTimedOutException В случае достижения таймаута

static bool isTtySupported()

Возвращает, поддерживается ли TTY на текущей операционной системе.

Значение возврата

bool

static bool isPtySupported()

Возвращает, поддерживается ли PTY на текущей операционной системе.

Значение возврата

bool

protected Closure buildCallback(callable $callback = null)

Создаёт обработчик, используемый методом wait().

Обработчик добавляет весь полученный вывод в определённый буфер и вызывает пользовательский обработчик (если он задан) с полученным выводом.

Параметры

callable $callback Пользовательский PHP-обработчик

Значение возврата

Closure PHP-замыкание

protected updateStatus(bool $blocking)

Обновляет состояние процесса, считывает каналы.

Параметры

bool $blocking Использовать ли блокирующее чтение

protected bool isSigchildEnabled()

Возвращает, скомпилирован ли PHP с опцией '--enable-sigchild'.

Значение возврата

bool

setPhpBinary($php)

Устанавливает путь к бинарному файлу PHP.

Параметры

$php

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Process/PhpProcess.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API