コード例 #1
0
ファイル: SSHTest.php プロジェクト: taviroquai/duality
 /**
  * Test SSH service
  * 
  * @requires extension ssh2
  */
 public function testSSH()
 {
     $app = new \Duality\App(dirname(__FILE__), null);
     $remote = new SSH($app);
     $remote->init();
     $remote->connectSSH('localhost', 'duality', 'dummy');
     $remote->execute('ls');
     $remote->terminate();
 }
コード例 #2
0
ファイル: cmd.php プロジェクト: taviroquai/duality-demo
$app->call('db')->reloadFromConfig($config);
// Get the commander
$cmd = $app->call('cmd');
// Add the database responders
$cmd->addResponder('/^db:create$/i', function () use($app) {
    return $app->call('db')->createFromConfig();
});
$cmd->addResponder('/^db:update$/i', function () use($app) {
    return $app->call('db')->updateFromConfig();
});
$cmd->addResponder('/^db:seed$/i', function () use($app) {
    return $app->call('db')->seedFromConfig();
});
// Register ssh command responder
if ($app->getConfigItem('remote')) {
    $app->call('cmd')->addResponder('/^ssh:(.*):(.*)$/i', function ($args) use($app) {
        $args = array_slice($args, 1);
        if (!$app->getConfigItem('remote.' . $args[0] . '.username')) {
            die("Error Config: username param for {$args[0]} not found" . PHP_EOL);
        }
        if (!$app->getConfigItem('remote.' . $args[0] . '.password')) {
            die("Error Config: password param for {$args[0]} not found" . PHP_EOL);
        }
        $remote = new SSH($app);
        $remote->connect($args[0], $app->getConfigItem('remote.' . $args[0] . '.username'), $app->getConfigItem('remote.' . $args[0] . '.password'));
        echo $remote->execute($args[1]);
        $remote->disconnect();
    });
}
// Start listening commander
$app->call('cmd')->listen();