PHP
Chilkat2 PHP
Setting Environment Variables for SCP Transfers
See more SCP Examples
Demonstrates how to set remote environment variables for an SCP transfer.Note 1: This example requires Chilkat v9.5.0.79 or greater.
Note 2: Setting environment variables for SCP is only supported by some SSH servers.
Chilkat PHP Downloads
<?php
use Chilkat2\JsonObject;
use Chilkat2\Scp;
use Chilkat2\Ssh;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$ssh = new Ssh();
// First connect to an SSH server.
try {
$ssh->Connect('example.com', 22);
// Wait a max of 5 seconds when reading responses..
$ssh->IdleTimeoutMs = 5000;
// Authenticate..
$ssh->AuthenticatePw('myLogin', 'myPassword');
// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
$scp = new Scp();
$scp->UseSsh($ssh);
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
// Specify the environment variables to be set in JSON as follows.
// This example sets two environment variables. One is named "LCS_PASSWORD" and the other "MY_TEST_NAME".
$jsonEnvVars = new JsonObject();
$jsonEnvVars->EmitCompact = false;
$jsonEnvVars->UpdateString('LCS_PASSWORD', 'secret');
$jsonEnvVars->UpdateString('MY_TEST_NAME', 'abc');
$strEnvVars = $jsonEnvVars->Emit();
echo $strEnvVars, "\n";
// Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
// prior to doing the upload or download.
$scp->SendEnv = $strEnvVars;
// Do the upload..
$remotePath = 'starfish.jpg';
$localPath = 'qa_data/jpg/starfish.jpg';
try {
$scp->UploadFile($localPath, $remotePath);
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
echo "SCP upload file success.\n";
// Disconnect
$ssh->Disconnect();