gud3/executor

This extension works with files both locally and remotely

Maintainers

Details

github.com/gud3/executor

Source

Issues

Installs: 45

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:executor

1.1.0-stable 2017-09-18 17:11 UTC

This package is not auto-updated.

Last update: 2025-06-08 07:20:11 UTC


README

This extension works with files both locally and remotely. It can run commands in console mode. There are two different flags for execution with a response from the command and without (then the script will not wait for execution, an imitation of asynchronous execution). There are three public methods for working with the class: exec(), getFile(), setFile(). Each of the functions has a number of input parameters from which you can see below. To connect to the ssh2 in the constructor of the object, you need to transfer the data for the connection.

Installation

The preferred way to install this extension is through composer.

Enter run

php composer.phar require --prefer-dist gud3/executor "*"

or add

"gud3/executor": ">=1.0.0"

to the require section of your composer.json file.

Usage local

To execute the command locally in the system where the script is located:

$console = (new \gud3\executor\Local())->exec('command');

The variable in the console will be the result of executing the command line. For asynchronous execution (mostly used to run PHP or other scripts), you must pass the second parameter to true.

$console = (new \gud3\executor\Local())->exec('command', true);

Also, to execute a number of commands, you can pass an array to a function. And they are executed one after another.

$console = (new \gud3\executor\Local())->exec(['command1', 'command2']);

Usage Ssh2 protocol

To connect via the protocol, you must enter the IP address, login and password.

$connect = new \gud3\executor\Ssh2($ip, $login, $password, $port);
$console = $connect->exec(['command1', 'command2', 'command3']);

You can get the contents of the file as follows:

$local = new \gud3\executor\Local();
$file = $local->getFile($path_to_file, $file_name);

or remotely

$local = new \gud3\executor\Ssh2($ip, $login, $password, $port);
$file = $local->getFile($path_to_file, $file_name);

Overwrite the file if it exists. If the file does not exist then it will be created

$result = $local->setFile($path_to_file, $file_name, $content);