Spec-Zone.ru › Symfony 3.2

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 array $exitCodes Таблица преобразования кодов выхода. from Process

Методы

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

Конструктор.

__destruct() из Process
__clone() из Process
int run(callable|null $callback = null)

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

из Process
Process mustRun(callable $callback = null)

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

из Process
start(callable $callback = null)

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

Process restart(callable $callback = null)

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

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

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

из Process
int|null getPid()

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

из Process
Process signal(int $signal)

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

из Process
Process disableOutput()

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

из Process
Process enableOutput()

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

из Process
bool isOutputDisabled()

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

из Process
string getOutput()

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

из Process
string getIncrementalOutput()

Возвращает вывод инкрементально.

из Process
Generator getIterator(int $flags)

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

из Process
Process clearOutput()

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

из Process
string getErrorOutput()

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

из Process
string getIncrementalErrorOutput()

Возвращает ошибку инкрементально.

из Process
Process clearErrorOutput()

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

из Process
null|int getExitCode()

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

из Process
null|string 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.

из Process
string getCommandLine()

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

из Process
Process setCommandLine(string $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
Процесс setPty(bool $bool)

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

из Процесс
bool isPty()

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

из Процесс
string|null getWorkingDirectory()

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

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

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

из Процесс
array getEnv()

Получает переменные среды.

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

Устанавливает переменные среды.

из Процесс
resource|string|Iterator|null getInput()

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

из Процесс
Процесс setInput(resource|scalar|Traversable|null $input)

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

из Процесс
array getOptions()

Получает опции для proc_open.

из Процесс
Процесс setOptions(array $options)

Устанавливает опции для proc_open.

из Процесс
bool getEnhanceWindowsCompatibility()

Получает, включена ли совместимость с Windows.

из Процесс
Процесс setEnhanceWindowsCompatibility(bool $enhance)

Устанавливает, включена ли совместимость с Windows.

из Процесс
bool getEnhanceSigchildCompatibility()

Возвращает, включен ли режим совместимости sigchild.

из Процесс
Процесс setEnhanceSigchildCompatibility(bool $enhance)

Включает режим совместимости sigchild.

из Процесс
checkTimeout()

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

из Процесс
static bool isPtySupported()

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

из Процесс
setPhpBinary($php)

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

Подробности

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

Конструктор.

Параметры

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

__destruct()

__clone()

int run(callable|null $callback = null)

Запускает процесс.

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

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

Параметры

callable|null $callback Обратный вызов PHP, который будет выполняться всякий раз, когда доступен вывод в STDOUT или STDERR

Значение, возвращаемое функцией

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

Исключения

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

Process mustRun(callable $callback = null)

Запускает процесс.

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

Параметры

callable $callback

Значение, возвращаемое функцией

Process

Исключения

RuntimeException если PHP был скомпилирован с --enable-sigchild и режим совместимости sigchild не включен
ProcessFailedException если процесс не завершился успешно

start(callable $callback = null)

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

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

Ожидание завершения процесса можно выполнить с помощью wait().

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

Параметры

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

Исключения

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

Process restart(callable $callback = null)

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

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

Параметры

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

Значение, возвращаемое функцией

Process Новый процесс

Исключения

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

См. также

start()

int wait(callable $callback = null)

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

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

Параметры

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

Значение, возвращаемое функцией

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

Исключения

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

int|null getPid()

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

Значение, возвращаемое функцией

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

Process signal(int $signal)

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

Параметры

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

Значение, возвращаемое функцией

Process

Исключения

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

Process disableOutput()

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

Значение, возвращаемое функцией

Process

Исключения

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

Process enableOutput()

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

Значение, возвращаемое функцией

Process

Исключения

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

bool isOutputDisabled()

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

Значение, возвращаемое функцией

bool

string getOutput()

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

Значение, возвращаемое функцией

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

Исключения

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

string getIncrementalOutput()

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

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

Значение, возвращаемое функцией

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

Исключения

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

Generator getIterator(int $flags)

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

Параметры

int $flags Поле битов флагов Process::ITER_*.

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

Generator

Исключения

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

Process clearOutput()

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

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

Process

string getErrorOutput()

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

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

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

Исключения

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

string getIncrementalErrorOutput()

Возвращает вывод ошибок инкрементально.

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

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

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

Исключения

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

Process clearErrorOutput()

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

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

Process

null|int getExitCode()

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

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

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

Исключения

RuntimeException В случае активации --enable-sigchild и отключении режима совместимости sigchild

null|string getExitCodeText()

Возвращает строковое представление кода завершения процесса.

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

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

null|string Строковое представление кода завершения, 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

Исключения

RuntimeException В случае активации --enable-sigchild
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 $commandline)

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

Параметры

string $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 Таймаут в секундах

Возвращаемое значение

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

Исключения

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

Process setTty(bool $tty)

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

Параметры

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

Возвращаемое значение

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

Исключения

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

bool isTty()

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

Возвращаемое значение

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

Process setPty(bool $bool)

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

Параметры

bool $bool

Возвращаемое значение

Process

bool isPty()

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

Возвращаемое значение

bool

string|null getWorkingDirectory()

Возвращает рабочую директорию.

Возвращаемое значение

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

Process setWorkingDirectory(string $cwd)

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

Параметры

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

Возвращаемое значение

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

array getEnv()

Возвращает переменные окружения.

Возвращаемое значение

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

Process setEnv(array $env)

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

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

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

Параметры

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

Возвращаемое значение

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

resource|string|Iterator|null getInput()

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

Возвращаемое значение

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

Process setInput(resource|scalar|Traversable|null $input)

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

Это содержимое будет передано стандартному вводу подлежащего процесса.

Параметры

resource|scalar|Traversable|null $input Содержимое

Возвращаемое значение

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

Исключения

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

array getOptions()

Возвращает параметры для proc_open.

Возвращаемое значение

array Текущие параметры

Process setOptions(array $options)

Устанавливает параметры для proc_open.

Параметры

array $options Новые параметры

Возвращаемое значение

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

bool getEnhanceWindowsCompatibility()

Возвращает, включена ли совместимость с Windows.

По умолчанию значение true.

Возвращаемое значение

bool

Process setEnhanceWindowsCompatibility(bool $enhance)

Устанавливает, включена ли совместимость с Windows.

Параметры

bool $enhance

Возвращаемое значение

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

bool getEnhanceSigchildCompatibility()

Возвращает, включен ли режим совместимости sigchild.

Возвращаемое значение

bool

Process setEnhanceSigchildCompatibility(bool $enhance)

Включает режим совместимости sigchild.

Режим совместимости sigchild необходим для получения кода выхода и определения успеха процесса, когда PHP скомпилирован с параметром --enable-sigchild.

Параметры

bool $enhance

Возвращаемое значение

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

checkTimeout()

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

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

Исключения

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

static bool isPtySupported()

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

Возвращаемое значение

bool

setPhpBinary($php)

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

Параметры

$php

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

Spec-Zone.ru

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