Spec-Zone.ru › Symfony 3.0

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

Свойства

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

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

из Process
bool isPty()

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

из Process
string|null getWorkingDirectory()

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

from Process
Process setWorkingDirectory(string $cwd)

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

from Process
array getEnv()

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

from Process
Process setEnv(array $env)

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

from Process
null|string getInput()

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

from Process
Process setInput(mixed $input)

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

from Process
array getOptions()

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

from Process
Process setOptions(array $options)

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

from Process
bool getEnhanceWindowsCompatibility()

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

from Process
Process setEnhanceWindowsCompatibility(bool $enhance)

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

from Process
bool getEnhanceSigchildCompatibility()

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

from Process
Process setEnhanceSigchildCompatibility(bool $enhance)

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

from Process
checkTimeout()

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

from Process
static bool isPtySupported()

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

from Process
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) и некоторые байты из вывода в реальном времени во время записи стандартного ввода в процесс. Это позволяет получить обратную связь от независимого процесса во время выполнения. Если обратный вызов не передан, метод wait() можно вызвать с true в качестве второго параметра, тогда обратный вызов получит все данные, возникшие во время (и с момента) вызова start.

Параметры

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

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

На 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 $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

null|string getInput()

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

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

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

Process setInput(mixed $input)

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

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

Параметры

mixed $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.0/Symfony/Component/Process/PhpProcess.html

Spec-Zone.ru

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