ich php5 auf meinem Windows-System installiert und versuchte, das folgende Skript mit einer Befehlszeilenkonsole auszuführen:Wie HTTPS-Stream-Wrapper ermöglichen
<?php
// load in credentials
$creds = parse_ini_file('/etc/aws.conf');
// Define query string keys/values
$params = array(
'Action' => 'DescribeAvailabilityZones',
'AWSAccessKeyId' => $creds['access_key'],
'Timestamp' => gmdate('Y-m-d\TH:i:s\Z'),
'Version' => '2008-05-05',
'ZoneName.0' => 'us-east-1a',
'ZoneName.1' => 'us-east-1b',
'ZoneName.2' => 'us-east-1c',
'SignatureVersion' => 2,
'SignatureMethod' => 'HmacSHA256'
);
// See docs
// http://tr.im/jbjd
uksort($params, 'strnatcmp');
$qstr = '';
foreach ($params as $key => $val) {
$qstr .= "&{$key}=".rawurlencode($val);
}
$qstr = substr($qstr, 1);
// Signature Version 2
$str = "GET\n"
. "ec2.amazonaws.com\n"
. "/\n"
. $qstr;
// Generate base64-encoded RFC 2104-compliant HMAC-SHA256
// signature with Secret Key using PHP 5's native
// hash_hmac function.
$params['Signature'] = base64_encode(
hash_hmac('sha256', $str, $creds['secret_key'], true)
);
// simple GET request to EC2 Query API with regular URL
// encoded query string
$req = 'https://ec2.amazonaws.com/?' . http_build_query(
$params
);
$result = file_get_contents($req);
// do something with the XML response
echo $result;
Aber es sagt, dass es die Hülle zu finden „https“ nicht in der Lage ist und fragt, ob ich vergessen habe, es zu aktivieren, wenn ich PHP konfiguriert habe.
Was ist das Problem und wie man es regelt?
Vielleicht haben Sie vergessen, https bei der Konfiguration von PHP zu aktivieren? –
Sorry, es ist nicht "Was ist los mit PHP", es ist "Was ist los mit meinem Skript". –
Einverstanden. "Was mit PHP nicht stimmt" würde einen ganzen anderen Religionskrieg eröffnen. :) – Paul