Download the PHP package yaroslam/ssh2 without Composer

On this page you can find all versions of the php package yaroslam/ssh2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ssh2

Yaroslam/SSH2

Данная библиотека предназначена для выполнения команд на удаленном сервере через протокол ssh2. Библиотека позволяет выполнять подключение к серверу, исполнять команды на сервере, создавать сложные сценарии исполнения с условными операторами, циклами, функциями.

Требования к установке

  1. установленное расширение SSH2
  2. минимальная версия PHP - 8.4

Установка

composer require yaroslam/ssh2

Документация

Подключение

Что бы инициализировать подключение к удаленному серверу необходимо создать экземпляр ConnectionInterface и обратиться к методу connect, передав в него $connectProperties и $connection, являющийся результатом выполнения функции ssh2_connect() модуля SSH2.

Список экземпляров и формата $connectProperties:

  1. UserPasswordConnection ["user" => string, "password" => string]

Сессии

Для создания сессии необходимо создать экземпляр AbstractSession, передав в конструктор экземпляр ConnectionInterface и $connectProperties формата ['port' => port, 'host' => ip, 'properties' => формат $connectProperties для выбранного подтипа ConnectionInterface]
Типы сессий

  1. Session - не сохраняет контекст выполнения между командами и позволяет использовать только exec() метод

  2. ChainSession - сохраняет контекст выполнения между командами и позволяет конструировать сложные сценарии с использованием if, for, switch case конструкций

ChainSession необходимо инициализировать методом initChain() перед началом использования команд

При использовании любой сессии для получения результата необходимо в конце вызвать метод apply()

Команды

Типы команд:

  1. Single - одиночная команда, единственные представитель exec()
  2. Operator - команды, которые управляют потоком выполнения цепочки команд представители: if(), switch()
  3. Block - команды, которые внутри себя хранят другие команды представители: then(), else(), for(), case()
  4. None - команды заглушки, представители - все команды с префиксом end

    Список команд

  5. exec($cmd) - выполняет переданную в параметре $cmd команду

  6. if($cmd, $ifStatement) - выполняет переданную в $cmd команду и в дальнейшем проверяет вхождение $ifStatement в результате выполнения команды, если проверка завершилась успехом, будет выполнена ветка then, иначе ветка else

  7. for($start, $stop, $step) - команда выполняющая все команды внутри своего тела пока внутренний счетчик, стартовое значение которого равно значению $start, каждый шаг увеличивающийся на значение $step не станет больше или равен значению $stop
  8. switch($cmd) - команда множественного ветвления, выполняет переданную в $cmd команду, после чего проверяет каждую внутреннюю case() команду на вхождение их условий в текст вывода выполненной команды, после чего выполняет первую case() команду с которой было найдено совпадение

Функции

ChainSession поддерживает создание функций в рамках одного экземпляра. Для этого необходимо вызвать метод declareFunction($name), где $name - имя функции. Описать используемые в функции команды и завершить функцию методом endFunction(). Для вызова функции необходимо использовать метод useFunction($name), где $name имя используемой функции. Функции можно использовать между вызовами команд.

Замечания к командам

Команды if() и case() проверяют вхождение в вывод используя функцию preg_match(), переданное условие будет использоваться в качестве регулярного выражения
Все end команды имеют тип None и не имеют привязки к начинающим командам, проверка правильности составления цепочки команд пока что не умеет сопоставлять начало команды с ее концом и руководствуется правилами зависимостей типов команд друг от друга, это означает что соблюдение того, какая закрывающая команда используется, остается за пользователем

Тестирование

Для тестирования используется PHPUnit. В тестах не указаны данные для подключения к серверу, их необходимо указать самостоятельно

Лицензия

Лицензии нет, используйте как хотите.


All versions of ssh2 with dependencies

PHP Build Version
Package Version
Requires ext-ssh2 Version *
php Version ^8.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yaroslam/ssh2 contains the following files

Loading the files please wait ....