search
HomePHP LibrariesOther librariesPHP library for running command lines in parallel on multiple remote machines
PHP library for running command lines in parallel on multiple remote machines

Today I will bring you a command line PHP library that runs in parallel on multiple remote machines. Let’s look at a piece of code.

<?php
namespace League\Shunt;
use League\Shunt\Contracts\SCPInterface;
use League\Shunt\Contracts\SessionInterface;
use League\Shunt\BaseObject;
use Symfony\Component\Console\Output\OutputInterface;
use RuntimeException;
class SCP extends BaseObject implements SCPInterface
{
    protected $session;
    public function __construct(SessionInterface $session, OutputInterface $output)
    {
        // Set the base object properties
        parent::__construct($session, $output);
        if ( ! $session->valid()) throw new RuntimeException('SSH connection failed.');
        $this->session = $session;
    }
    public function put($localFile = '', $remoteFile = '')
    {
        return $this->doRun(__METHOD__, func_get_args(), ssh2_scp_send($this->session->getConnection(), $localFile, $remoteFile));
    }
    public function get($remoteFile = '', $localFile = '')
    {
        return $this->doRun(__METHOD__, func_get_args(), ssh2_scp_recv($this->session->getConnection(), $remoteFile, $localFile));
    }
}


Disclaimer

All resources on this site are contributed by netizens or reprinted by major download sites. Please check the integrity of the software yourself! All resources on this site are for learning reference only. Please do not use them for commercial purposes. Otherwise, you will be responsible for all consequences! If there is any infringement, please contact us to delete it. Contact information: admin@php.cn

Related Article

How Do I Link Static Libraries That Depend on Other Static Libraries?How Do I Link Static Libraries That Depend on Other Static Libraries?

13Dec2024

Linking Static Libraries to Other Static Libraries: A Comprehensive ApproachStatic libraries provide a convenient mechanism to package reusable...

How Does jQuery Simplify DOM Manipulation for Web Developers?How Does jQuery Simplify DOM Manipulation for Web Developers?

03Jan2025

Overflow: Hidden and Expansion of HeightjQuery distinguishes itself from other JavaScript libraries through its cross-platform compatibility and...

How to Execute Command Line Binaries in Node.js?How to Execute Command Line Binaries in Node.js?

27Dec2024

Executing Command Line Binaries in Node.jsExecuting third-party binaries is an essential task when porting CLI libraries from other languages to...

How Can I Merge Multiple Static Libraries into One Using CMake?How Can I Merge Multiple Static Libraries into One Using CMake?

03Dec2024

Combining Static Libraries into One with CMakeWhen working with projects dependent on multiple static libraries, merging these libraries into a...

Can Go Create Shared Libraries?Can Go Create Shared Libraries?

04Dec2024

Creating Shared Libraries in GoShared libraries, or dynamic link libraries (.so files), allow separate programs to share common code and data,...

JSqlParser- problem with MySQL Convert(expr,type) functionJSqlParser- problem with MySQL Convert(expr,type) function

13Dec2024

We upgrade our base framework to springboot 3.3.5 and other related libraries recently. A bug was reported to me during the testing. Some query would fail with JSqlParser 5.0. Here is a simple demonstration: public class Test { public static vo

See all articles