Control Library GameAP

Материал из HLDM Wiki
Версия от 11:15, 19 июня 2014; Nikita (обсуждение | вклад) (set_driver)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску


Библиотека для отправки команд на выделенный сервер

Расположение

application/libraries/Control/

Загрузка библиотеки

$this->load->driver('control');

Задание данных

$this->control->set_driver();

Задает драйвер.

set_driver ( string $driver )

Доступные опции:

Название Описание
local Локальный протокол. Будет использоваться функция exec.
ssh SSH протокол управления.
telnet Telnet протокол управления.

$this->control->set_data();

Задает прочие данные. Такие, как операционная система и рабочая директория.

set_data ( array $data )

Пример:

$ds['os']    = 'linux';
$ds['path'] = '/home/servers';
$this->control->set_data($ds);

Основные функции

$this->control->connect();

Соединение по выбранному протоколу.

connect ( string $host, int $port )

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
} catch (Exception $e) {
    echo 'Ошибка: ' . $e->getMessage;
}

$this->control->auth();

Авторизация. Производит авторизацию на SFTP или FTP сервере. Если задан локальный протокол управления (Local), то всегда вернет true.

auth ( string $login, string $password )

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
    $this->control->auth('root', 'password12345');
} catch (Exception $e) {
    echo 'Ошибка: ' . $e->getMessage;
}

$this->control->command();

Отправка команды.

string command ( string $command [ , $path ])

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
    $this->control->auth('root', 'password12345');
    $result = $this->control->command('whoami');
} catch (Exception $e) {
    exit('Ошибка: ' . $e->getMessage);
}
echo $result;

$this->control->exec();

Алиас command

$this->control->get_commands_result();

Получение результатов всех отправленных команд.

array get_commands_result ( )

$this->control->get_last_command();

Получение последней отправленной команды.

string get_last_command ( )

$this->control->get_sended_commands();

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

array get_sended_commands ( )