Spec-Zone.ru › Symfony 2.7

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

Свойства

статический массив $exitCodes Таблица перевода кодов завершения. из 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|null $callback = null)

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

из Process
start(callable|null $callback = null)

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

$this restart(callable|null $callback = null)

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

из Process
int wait(callable|null $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
$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.

from 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
Process setPty(bool $bool)

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

из Process
bool isPty()

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

из Process
string|null getWorkingDirectory()

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

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

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

из Процесс
массив getEnv()

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

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

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

из Процесс
строка|null getStdin() устаревший

Получает содержимое STDIN.

из Процесс
null|строка getInput()

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

из Процесс
Процесс setStdin(string|null $stdin) устаревший

Устанавливает содержимое STDIN.

из Процесс
Процесс setInput(mixed $input)

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

из Процесс
массив 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|null $callback = null)

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

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

Параметры

callable|null $callback

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

Process

Исключения

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

start(callable|null $callback = null)

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

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

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

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

Параметры

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

Исключения

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

$this restart(callable|null $callback = null)

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

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

Параметры

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

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

$this

Исключения

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

См. также

start()

int wait(callable|null $callback = null)

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

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

Параметры

callable|null $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/ru/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 В случае, если процесс не запущен

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

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

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

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

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

string|null getStdin() устарело

устарело

since версия 2.5, будет удалено в 3.0. Используйте setInput() вместо этого. Этот метод устарел в пользу getInput.

Возвращает содержимое STDIN.

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

string|null Текущее содержимое

null|string getInput()

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

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

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

Process setStdin(string|null $stdin) устарело

устарело

since версия 2.5, будет удалено в 3.0. Используйте setInput() вместо этого.

Устанавливает содержимое STDIN.

Параметры

string|null $stdin Новое содержимое

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

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

Исключения

LogicException Если процесс выполняется
InvalidArgumentException Если аргумент некорректен

Process setInput(mixed $input)

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

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

Параметры

mixed $input Содержимое

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

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

Исключения

LogicException Если процесс выполняется

Передача объекта в качестве входных данных устарела с версии 2.5 и будет удалена в 3.0.

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

Spec-Zone.ru

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