Sample code for 30+ languages & platforms
PHP ActiveX

EC2 Start Instances

See more Amazon EC2 Examples

Demonstrates how to send a request to start Amazon EC2 instances.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$rest = new COM("Chilkat.Rest");

// Connect to the Amazon AWS server.
// such as https://ec2.amazonaws.com/
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect('ec2.us-west-2.amazonaws.com',$port,$bTls,$bAutoReconnect);

// Provide AWS credentials for the REST call.
$authAws = new COM("Chilkat.AuthAws");
$authAws->AccessKey = 'AWS_ACCESS_KEY';
$authAws->SecretKey = 'AWS_SECRET_KEY';
// the region should match the region part of the domain passed to the REST connect method (above).
$authAws->Region = 'us-west-2';
$authAws->ServiceName = 'ec2';

$rest->SetAuthAws($authAws);

$rest->AddQueryParam('Action','StartInstances');
$rest->AddQueryParam('Version','2016-11-15');
// If DryRun is true then checks whether you have the required permissions for the action, 
// without actually making the request, and provides an error response. If you have the required permissions, 
// the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
// Omit the DryRun query parameter to actually start the instance.  (Or set DryRun equal to "false")
$rest->AddQueryParam('DryRun','true');
$rest->AddQueryParam('InstanceId.1','i-999719995399c9999');

$responseXml = $rest->fullRequestNoBody('GET','/');
if ($rest->LastMethodSuccess != 1) {
    print $rest->LastErrorText . "\n";
    exit;
}

// A successful response will have a status code equal to 200.
if ($rest->ResponseStatusCode != 200) {
    print 'response status code = ' . $rest->ResponseStatusCode . "\n";
    print 'response status text = ' . $rest->ResponseStatusText . "\n";
    print 'response header: ' . $rest->ResponseHeader . "\n";
    print 'response body: ' . $responseXml . "\n";
    exit;
}

// Examine the successful XML response.
$xml = new COM("Chilkat.Xml");
$xml->LoadXml($responseXml);
print $xml->getXml() . "\n";

?>