Spec-Zone.ru › Symfony 3.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 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, если Process не завершён

Исключения

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

null|string getExitCodeText()

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

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

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

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

См. также

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()

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

Состояние может быть: ready, started, terminated.

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

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 Текущий экземпляр Process.

Исключения

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

Process setTty(bool $tty)

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

Параметры

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

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

Process Текущий экземпляр 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 Текущий экземпляр Process

array getEnv()

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

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

array Текущие переменные среды

Process setEnv(array $env)

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

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

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

Параметры

array $env Новые переменные среды

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

Process Текущий экземпляр Process

resource|string|Iterator|null getInput()

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

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

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

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

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

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

Параметры

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

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

Process Текущий экземпляр Process

Исключения

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

array getOptions()

Получает параметры для proc_open.

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

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

Process setOptions(array $options)

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

Параметры

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

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

Process Текущий экземпляр Process

bool getEnhanceWindowsCompatibility()

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

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

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

bool

Process setEnhanceWindowsCompatibility(bool $enhance)

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

Параметры

bool $enhance

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

Process Текущий экземпляр Process

bool getEnhanceSigchildCompatibility()

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

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

bool

Process setEnhanceSigchildCompatibility(bool $enhance)

Активирует режим совместимости sigchild.

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

Параметры

bool $enhance

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

Process Текущий экземпляр 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.1/Symfony/Component/Process/PhpProcess.html

Spec-Zone.ru

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