Почему мой PHP CURL POST возвращает нулевой результат

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

Код, который делает вызов 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));

Переменная $ result должна содержать возвращаемое значение JSON, а $ 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; Время соединения вышло

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

2

Решение

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector