2016-08-09 2 views
1

나는 다음과 같은 PHP 스크립트 (이것은 단지 아래쪽 절반) 한 :사용하여 HTTPS는

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 
: 나는 다음과 같은 오류가 발생을

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); 

을 실행하면

https 대신 http를 사용하는 waitFor 메소드의 문제점을 해결했습니다. 그러나이 방법을 사용하여 https를 사용하는 방법을 찾지 못하거나 https를 통해 모든 호출을 강제로 변경할 수있는 설정이있는 경우 어떻게해야합니까?

또한 이러한 명령을 명령 줄에서 curl을 사용하여 스크립트 외부에서 실행하려고 시도했으며 https가 작동하는지 확인할 수 있습니다. 그래서 https를 사용하는 스크립트 호출을 얻는 방법을 알아 내면됩니다.

위의 $ server-> create 호출이 정상적으로 작동하며 waitFor가 같은 방식 (예 : https)으로 작동 할 것으로 예상했음을 유의하십시오.

도움을 주시면 감사하겠습니다.

+0

: https://github.com/rackspace/php-opencloud을 – chaoss88

답변

0

https로 서버를 생성했습니다. 서버 데이터에 대한 응답을 받았습니다. 서버 데이터에는 자체 URL이 포함되어 있으며 url은 http 일 가능성이 큽니다. "waitFor"는 해당 URL이있는 서버 데이터에 대해 openstack을 호출합니다. 난 당신이 당신이 SDK를 사용하고 언급해야한다고 생각 https://github.com/rackspace/php-opencloud/blob/working/lib/OpenCloud/Common/Resource/BaseResource.php (라인 148)

+0

감사를 다시 나에게 chaoss88을 얻기를 위해 당신은 여기 볼 수 있습니다. 그 파일을보고 있었지만 http로 설정하는 방법을 알지 못했습니다. 내가 어떻게 자기 url https를 만들지 알아? – ChrisS

+0

할 수 없습니다. 이 버그는 다음과 같습니다 : https://bugs.launchpad.net/designate/+bug/1490034 – chaoss88

+0

"!"을 제거하여 URL 생성을 강제로 시도 할 수 없습니다. 이 문제를 해결하는 것은 좋은 습관은 아닙니다. – chaoss88

관련 문제