Documentation

InterExec
in package

Table of Contents

Constants

PIPE_TYPE_DEFAULT  = 'pipe'
PIPE_TYPE_PTY  = 'pty'
STDERR  = 2
STDIN  = 0
STDOUT  = 1

Properties

$command_to_run  : string
The command to run.
$data_buffer_size  : int
Size of buffer for reading from pipes.
$environment_vars  : array<string|int, mixed>|null
Environment variables (null to use existing variables).
$fix_windows_path  : bool
If enabled, fixes a problem with popen not allowing spaces inside program path (even when quoted).
$pipes  : array<string|int, mixed>
Process I/O pipes.
$pipeType  : string
Pipe type, pipe or pty (Linux only, PHP must be compiled with --enable-pty) Constants : PIPE_TYPE_DEFAULT, PIPE_TYPE_PTY
$process_handle  : resource
Process resource.
$return  : int
Program's exit code (obviously only set after program quits).
$stderr  : string
All of the program's error output till now.
$stdout  : string
All of the program's standard output till now.
$tick_interval  : float
Interval between ticks, in seconds (a value of zero disables interval)
$time_start  : float
Timestamp in seconds of start of execution.
$time_taken  : float
The time taken for the program to run and close.
$timeout  : int
Time, in seconds, after which command is forcefully aborted.
$events  : array<string|int, mixed>
Array containing event callbacks.

Methods

__construct()  : mixed
Creates new instance.
is_running()  : bool
Returns whether process is currently running or not.
on()  : mixed
Call callback when an event is triggered.
run()  : InterExec
Runs the command!
fire()  : mixed
Trigger an event.
fix_windows_command_path()  : string
This hack fixes a legacy issue in popen not handling escaped command filenames on Windows.
run_mainloop()  : mixed
run_shutdown()  : mixed
run_startup()  : mixed
stream_has_content()  : bool
Returns whether stream currently has pending content or not.

Constants

PIPE_TYPE_DEFAULT

public mixed PIPE_TYPE_DEFAULT = 'pipe'

PIPE_TYPE_PTY

public mixed PIPE_TYPE_PTY = 'pty'

Properties

$command_to_run

The command to run.

public string $command_to_run = ''

$data_buffer_size

Size of buffer for reading from pipes.

public int $data_buffer_size = 4096

$environment_vars

Environment variables (null to use existing variables).

public array<string|int, mixed>|null $environment_vars = null

$fix_windows_path

If enabled, fixes a problem with popen not allowing spaces inside program path (even when quoted).

public bool $fix_windows_path = true

$pipes

Process I/O pipes.

public array<string|int, mixed> $pipes = null

$pipeType

Pipe type, pipe or pty (Linux only, PHP must be compiled with --enable-pty) Constants : PIPE_TYPE_DEFAULT, PIPE_TYPE_PTY

public string $pipeType = self::PIPE_TYPE_DEFAULT

$process_handle

Process resource.

public resource $process_handle = null

$return

Program's exit code (obviously only set after program quits).

public int $return = 0

$stderr

All of the program's error output till now.

public string $stderr = ''

$stdout

All of the program's standard output till now.

public string $stdout = ''

$tick_interval

Interval between ticks, in seconds (a value of zero disables interval)

public float $tick_interval = 0

$time_start

Timestamp in seconds of start of execution.

public float $time_start = 0.0

$time_taken

The time taken for the program to run and close.

public float $time_taken = 0

$timeout

Time, in seconds, after which command is forcefully aborted.

public int $timeout = 0

$events

Array containing event callbacks.

protected array<string|int, mixed> $events = array()

Methods

__construct()

Creates new instance.

public __construct(string $command_to_run[, array<string|int, mixed> $environment_vars = null ]) : mixed
Parameters
$command_to_run : string

The command line to execute.

$environment_vars : array<string|int, mixed> = null

(Optional) Environment variables.

is_running()

Returns whether process is currently running or not.

public is_running() : bool
Return values
bool

on()

Call callback when an event is triggered.

public on(string $event, callable $callback) : mixed
Parameters
$event : string

Name of event.

$callback : callable

The callback to call.

fire()

Trigger an event.

protected fire(string $event[, array<string|int, mixed> $args = array() ]) : mixed
Parameters
$event : string

Name of event.

$args : array<string|int, mixed> = array()

(Optional) Arguments to pass to event. Note that the first argument is always $this.

Return values
mixed

Value resulting from event callback.

fix_windows_command_path()

This hack fixes a legacy issue in popen not handling escaped command filenames on Windows.

protected fix_windows_command_path(string $commandPath) : string

Basically, if we're on windows and the first command part is double quoted, we CD into the directory and execute the command from there.

Parameters
$commandPath : string

The command to fix.

Tags
example

: '"C:\a test\b.exe" -h' -> 'cd "C:\a test" && b.exe -h'

Return values
string

The command with the path fixed.

run_mainloop()

protected run_mainloop() : mixed

run_shutdown()

protected run_shutdown() : mixed

run_startup()

protected run_startup() : mixed

stream_has_content()

Returns whether stream currently has pending content or not.

protected stream_has_content(resource $stream) : bool
Parameters
$stream : resource

The stream resource.

Return values
bool

True if there is unread content, false otherwise.


        
On this page

Search results