Amazon Ec2 — HubSpot Webhook для PHP на сервере Ubuntu AWS EC2

Я работаю с сервером AWS EC2 (Ubuntu). Это установлено, чтобы открыть так для всего трафика. Я пытаюсь получить свой Webhook от HubSpot для подключения к моей странице php для сбора данных. Я протестировал этот webhook с рекомендованным сайтом RequestBin, и все данные поступают просто отлично. Таким образом, это заставляет думать, что это мой код или, возможно, использование SSL на сервере, который используется для подключения к нему через терминал.

мой PHP-код …

<?php

# taking data from HubSpot's webhook

//$hookData = json_decode(file_get_contents("php://input"), ture);
//$_POST = json_decode(file_get_contents("http://requestb.in/150jn861")); // does not get anything
//$_POST = file_get_contents('http://requestb.in/150jn861'); // writes to file the string "ok"$_POST = json_decode(file_get_contents("php://input"), ture);
$file = fopen("datadump1.txt", "w");
fwrite($file, $_POST);
fclose($file);
var_dump($_POST); // test input
echo "\nTest completed\n";
?>

Я нашел 2 других сообщения здесь для webhooks и hubspot, но исправление не работало. Как видите, я тестировал несколько вещей, но ничего не получил. Так как это aws ec2, я не могу использовать var_dump или echo, чтобы действительно протестировать так хорошо, как хотелось бы. Я никогда не использовал этот тип среды раньше. Заранее благодарю за любую помощь, которую вы можете оказать.

0

Решение

Это было большим упущением с моей стороны. Я не учел разрешения в Ubuntu. после тестирования с локальными файлами и cRUL для моего файла testPHP я обмотал это. изменил права доступа с помощью «sudo chmod -R 777 /var/www/html/testPHP.php», затем с локальным POST я был создан файл и данные были в нем. вот мой код для всех, кто этого хочет; И НЕ ЗАБУДЬТЕ РАЗРЕШИТЬ ЕСЛИ В UBUNTU. хахаха

<?php

# taking data from HubSpot's webhook

$hookData = file_get_contents("php://input");

$file = fopen('datadump.json','w') or die("Unable to open file!");
fwrite($file, $hookData);
fclose($file);

//var_dump($hookData); // test input
echo "\nTest completed\n" . $hookData;
?>

в моем файле POST …

?php

$myObj = null;
$myObj->name = "Name";
$myObj->age = 32;
$myObj->city = "New York";

$myJSON = json_encode($myObj);//API Url
$url = 'REMOVED; put your URL here';

//Initiate cURL.
$ch = curl_init($url);

//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $myJSON);

//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

//Execute the request
$result = curl_exec($ch);
?>
0

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

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

По вопросам рекламы [email protected]