OpenStackの設定WaitForメソッドを呼び出すときにHTTPSを使用して:私は(これはちょうど下半分である)以下のPHPスクリプトを持っている新星サーバ
use Guzzle\Http\Exception\BadResponseException;
$server = $compute->server();
try {
$response = $server->create(array(
'name' => 'My server',
'image' => $centos,
'flavor' => $twoGbFlavor
));
} catch (BadResponseException $e) {
// No! Something failed. Let's find out:
printf("Request: %s\n\nResponse: %s", $e->getRequest(), $e->getResponse());
}
use OpenCloud\Compute\Constants\ServerState;
$callback = function($server) {
if (!empty($server->error)) {
var_dump($server->error);
exit;
} else {
echo sprintf(
"Waiting on %s/%-12s %4s%%",
$server->name(),
$server->status(),
isset($server->progress) ? $server->progress : 0
);
}
};
$server->waitFor(ServerState::ACTIVE, 600, $callback);
私はそれを実行すると、私は次のエラーが表示されます
PHP Fatal error: Uncaught exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 52: Empty reply from server [url] http://api.openstack.ecloud.co.uk:8774/v2/b7db5fe13c044b6e95bf5b766ae49393/servers/f5bf8951-f662-4940-904c-023b98b724c0' in /var/www/html/nutshell/openstack/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php:359
私は、httpsの代わりにhttpを使用してwaitForメソッドの問題に絞っています。しかし、私はこの方法でhttpsを使用する方法や、httpsですべての呼び出しを強制的に変更できる設定があるかどうかを調べることができません。
さらに、コマンドラインでcurlを使用してこれらのコマンドをスクリプト外で実行しようとしましたが、httpsが動作することを確認できます。だから、私はhttpsを使うためのスクリプト呼び出しをどうやって得るのかを考えなければならない。
また、上記の$ server-> create呼び出しがうまく動作することに注意してください。私はwaitForが同じ方法(つまりhttpsを超えて)で動作することを期待しています。
ご協力いただければ幸いです。
私は、あなたがそのSDKを使用していることを言及すべきだと思う:https://github.com/rackspace/php-opencloud私にchaoss88を取り戻すため – chaoss88