5

I have Backbone application. When model updates PUT request goes to my server.

enter image description here

Client-side looks good. But on the server side (PHP) I have some trouble. When I first time test this request in PHPStorm:

file_get_contents('php://input')

return what I expect. But on the other times it always return empty. I restarted Apache - nothing helps.

I know that

Note: A stream opened with php://input can only be read once;

But I thinked that mean one by request. Not once per life :) Where is my mistake?

Meliborn
  • 6,495
  • 6
  • 34
  • 53

2 Answers2

3

It was Kohana problem. In Kohana_Request class there is piece of code, that already opened php://input stream

if ($method !== HTTP_Request::GET)
{
    // Ensure the raw body is saved for future use
    $body = file_get_contents('php://input');
}
Meliborn
  • 6,495
  • 6
  • 34
  • 53
-1

You should be using $this->request->body() to get the request body.

badsyntax
  • 9,394
  • 3
  • 49
  • 67