Spec-Zone.ru › Symfony 3.4

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|null $cwd = null, array $env = null, int|float|null $timeout = 60, array $options = null)
__destruct() из Process
__clone() из Process
int run($callback = null)

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

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

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

из Process
start(callable $callback = null)

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

$this restart(callable $callback = null)

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

из 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)

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

из Process
$this clearOutput()

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

из Process
string getErrorOutput()

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

из Process
string getIncrementalErrorOutput()

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

из Process
$this 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|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(ресурс|скаляр|Traversable|null $input)

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

из Process
массив getOptions() устарело

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

из Process
Process setOptions(массив $options) устарело

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

из Process
bool getEnhanceWindowsCompatibility() устарело

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

из Process
Process setEnhanceWindowsCompatibility(bool $enhance) устарело

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

из Process
bool getEnhanceSigchildCompatibility() устарело

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

из Process
Process setEnhanceSigchildCompatibility(bool $enhance) устарело

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

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

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

из Process
bool areEnvironmentVariablesInherited() устарело

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

из Process
checkTimeout()

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

из Process
static bool isPtySupported()

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

из Process
setPhpBinary($php)

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

Подробности

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

Параметры

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($callback = null)

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

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

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

Параметры

$callback

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

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

Исключения

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

$this restart(callable $callback = null)

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

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

Параметры

callable $callback

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

$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 Если процесс не запущен

Generator getIterator(int $flags)

Возвращает итератор для вывода процесса, с типом вывода в качестве ключей (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

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, если дочерний процесс был завершён необработанным сигналом.

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

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

bool

Исключения

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

int getTermSignal()

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

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

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

int

Исключения

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

bool hasBeenStopped()

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

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

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

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

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

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)

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

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

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

Параметры

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

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

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

resource|string|Iterator|null getInput()

Возвращает ввод Process.

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

resource|string|Iterator|null Ввод Process

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

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

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

Параметры

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

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

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

Исключения

LogicException В случае, если процесс выполняется

array getOptions() устарело

устарело

с версии 3.3, будет удалено в 4.0.

Возвращает опции для proc_open.

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

array Текущие опции

Process setOptions(array $options) устарело

устарело

с версии 3.3, будет удалено в 4.0.

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

Параметры

array $options Новые опции

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

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

bool getEnhanceWindowsCompatibility() устарело

устарело

с версии 3.3, будет удалено в 4.0. Совместимость с Windows всегда включена.

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

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

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

bool

Process setEnhanceWindowsCompatibility(bool $enhance) устарело

устарело

с версии 3.3, будет удалено в 4.0. Совместимость с Windows всегда включена.

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

Параметры

bool $enhance

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

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

bool getEnhanceSigchildCompatibility() устарело

устарело

с версии 3.3, будет удалено в 4.0. Совместимость с sigchild всегда включена.

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

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

bool

Process setEnhanceSigchildCompatibility(bool $enhance) устарело

устарело

с версии 3.3, будет удалено в 4.0.

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

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

Параметры

bool $enhance

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

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

Process inheritEnvironmentVariables(bool $inheritEnv = true)

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

Параметры

bool $inheritEnv

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

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

bool areEnvironmentVariablesInherited() устарело

устарело

с версии 3.3, будет удалено в 4.0. Переменные окружения всегда наследуются.

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

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

bool

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.4/Symfony/Component/Process/PhpProcess.html

Spec-Zone.ru

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