Control Library GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(auth)
(set_driver)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 14: Строка 14:
 
== Задание данных ==
 
== Задание данных ==
  
=== set_driver ===
+
=== $this->control->set_driver(); ===
 
Задает драйвер.
 
Задает драйвер.
 
  set_driver ( string $driver )
 
  set_driver ( string $driver )
 +
 +
Доступные опции:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 28: Строка 30:
 
|}
 
|}
  
=== set_data ===
+
=== $this->control->set_data(); ===
 
Задает прочие данные. Такие, как операционная система и рабочая директория.
 
Задает прочие данные. Такие, как операционная система и рабочая директория.
 
  set_data ( array $data )
 
  set_data ( array $data )
Строка 41: Строка 43:
 
== Основные функции ==
 
== Основные функции ==
  
=== connect ===
+
=== $this->control->connect(); ===
 
Соединение по выбранному протоколу.
 
Соединение по выбранному протоколу.
 
  connect ( string $host, int $port )
 
  connect ( string $host, int $port )
Строка 55: Строка 57:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== auth ===
+
=== $this->control->auth(); ===
Авторизация.
+
Авторизация. Производит авторизацию на SFTP или FTP сервере. Если задан локальный протокол управления (Local), то всегда вернет true.
 
  auth ( string $login, string $password )
 
  auth ( string $login, string $password )
  
Строка 70: Строка 72:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== command ===
+
=== $this->control->command(); ===
 
Отправка команды.
 
Отправка команды.
 
  string command ( string $command [ , $path ])
 
  string command ( string $command [ , $path ])
  
=== exec ===
+
'''Пример:'''
 +
<syntaxhighlight lang="php">
 +
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;
 +
</syntaxhighlight>
 +
 
 +
=== $this->control->exec(); ===
 
Алиас [[Control_Library_GameAP#command|command]]
 
Алиас [[Control_Library_GameAP#command|command]]
  
=== get_commands_result ===
+
=== $this->control->get_commands_result(); ===
 
Получение результатов всех отправленных команд.
 
Получение результатов всех отправленных команд.
 
  array get_commands_result ( )
 
  array get_commands_result ( )
  
=== get_last_command ===
+
=== $this->control->get_last_command(); ===
 
Получение последней отправленной команды.
 
Получение последней отправленной команды.
 
  string get_last_command ( )
 
  string get_last_command ( )
  
=== get_sended_commands ===
+
=== $this->control->get_sended_commands(); ===
 
Получение всех отправленных команд на сервер.
 
Получение всех отправленных команд на сервер.
 
  array get_sended_commands ( )
 
  array get_sended_commands ( )
  
 
{{Категория:Документация_для_разработчиков}}
 
{{Категория:Документация_для_разработчиков}}

Текущая версия на 11:15, 19 июня 2014


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

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

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