axelra82
axelra82

Reputation: 537

Google Cloud Platform Pub/Sub push empty POST data

When I try to send a message in the cloud platform GUI (i.e. topic -> publish message on the cloud platform topic page) my endpoint PHP script is triggered, but the POST data is empty.

So all the permissions and domain verifications are in place. The topic and subscription both seem to be correct.

I found this same question here but

json_decode($HTTP_RAW_POST_DATA);

did nothing. I also tried

$content = null;
foreach( $_POST as $k => $v ){
// Just to see what any possible data might be
    $content .= "Key: $k, Value: $v\n";
}
$file = fopen( __DIR__ . '/log.txt', 'w') or die( 'Unable to open file!' );
fwrite( $file, $content );
fclose( $file );
return;

in the push endpoint URL. Same thing. Empty. So it seems that the POST body is empty and I can't figure out why. Can anyone help point me in the right direction?

Upvotes: 0

Views: 560

Answers (1)

David
David

Reputation: 9721

$HTTP_RAW_POST_DATA was removed in PHP7 even in earlier verisons, it required always_populate_raw_post_data in php.ini. As the answer you linked says, $_POST will not work.

Instead use:

json_decode(file_get_contents('php://input'));

Upvotes: 1

Related Questions