PHP为stream_context_create设置protocol_version

I want to access an oauth server with a php script, the remote server requires the following request:

POST /oauth/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 81
Authorization: Basic CHAINE_ENCODEE 
grant_type=password&username=USERNAME&password=PASSWORD&scope=all

So I wrote the following code:

    $params = array ('grant_type' => 'password', 
                     'username'   => 'USERNAME',
                     'password'   => hash('sha256', 'PASSWORD'),
                     'scope'      => 'all',
                     );

    $query = http_build_query ($params);

    $contextData = array ( 
                    'protocol_version'=> '1.1',
                    'method'          => 'POST',
                    'header'          => "Connection: close
".
                                         "Content-Type: application/x-www-form-urlencoded
".
                                         "Content-Length: 81
".
                                         "Authorization: Basic ".base64_encode('APPIDENTIFIER:SECRET'),
                    'content'         => $query );

    $context = stream_context_create (array ( 'http' => $contextData ));

    $result =  file_get_contents (
                      'https://rest2.some-url.net/oauth/token',  // page url
                      false,
                      $context);

    return $result;

But this gives me the following error:

Warning: file_get_contents(https://rest2.some-url.net/oauth/token): failed to open stream: 
HTTP request failed! HTTP/1.0 500 Internal Server Error

My guess is that the problem comes from the protocol_version which I set to 1.1 as required by the api. But the error apparently uses HTTP/1.0

I have tried every possible way, i have seen no one saying it was not working for them so I guess I am missing something. Why is not the HTTP set to HTTP/1.1?