2017-02-16 13 views
1

У меня есть приложение PHP Laravel v4, развернутое в экземпляре EC2 в AWS. Один мой мой сценарий вызывает маршрут POST в том же домене, используя CURL, но не получает никакого результата. Но если я проверю на трассе POST в Почтальон, я получаю (JSON) результатаПочему мой PHP CURL POST возвращает нулевой результат

код, который делает вызов PHP CURL POST находится ниже:

$data_json = json_encode(array('company_id' => 100)); 
$url = 'http://somedomain.com/rest/getcompanyprofile'; 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data_json))); 

$result = curl_exec($ch); 
curl_close ($ch); 
$obj = json_decode($result); 

die(var_dump($obj)); 

переменной $ результат должен содержать возвращение JSON value, а $ obj - строка, декодированная в $ result. Оператор die отображает NULL.

Маршрут для http://somedomain.com/rest/getcompanyprofile называет код ниже:

public function fetchCompanyprofile(){ 
    $company_id = Input::get('company_id'); 

    $company_record = DB::table('company')->select('company_name', 'company_email', 'company_phone', 'company_CEO')->where('company_id', $company_id)->first(); 
    $company_name = $company_record->company_name; 
    $company_email = $company_record->company_email; 
    $company_CEO = $company_record->company_CEO; 

    $response = array('company_name' => $company_name, 'company_email' => $company_email, 'company_CEO' => $company_CEO); 

    return Response::json($response); 
} 

Я использую Почтальон приложение для тестирования http://somedomain.com/rest/getcompanyprofile. Софар, я получаю результат JSON.

Я вставил код ниже после строки $ result = curl_exec ($ ch);

if(curl_error($ch)){ 
    die('CURL error: ' . curl_error($ch)); 
} 

Теперь я получаю Не удалось подключиться к http://somedomain.com:80; Время соединения не определено

Какие исправления мне нужно сделать?

ответ

0

Вы создали группу безопасности, чтобы входящий трафик на TCP 80 разрешался между экземплярами

 Смежные вопросы

  • Нет связанных вопросов^_^