Jump to content
sparh

PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA

Rate this topic

Recommended Posts

Bonjour,

dans mes logs je trouve systématiquement cette erreur : 

stderr: PHP message: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.
To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0, 

J'ai longtemps cherché et ce que je ne comprends pas c'est que je n'utilise nulle part la variable $HTTP_RAW_POST_DATA.

J'ai fini par découvrir que c'est la fonction suivante qui crée l'erreur.

 

Auriez vous une idée d'ou peux  venir le problème ?
Merci d'avance

 

function api($url,$email,$pass,$id_api,$method,$data=''){

$http_auth_ident = $email.':'.$pass ;
$url_curl = $url.'/api/?method='.$method.'&id='.$id_api;
// connexion
$timeout = '15';
$ch = curl_init($url_curl);
curl_setopt($ch, CURLOPT_USERAGENT, "CURL");
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 

if (preg_match('`^https://`i', $url_curl)) 
{ 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
} 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
// Définition de la méthode d'authentification du serveur 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
// Définition des identifiants 
curl_setopt($ch, CURLOPT_USERPWD, $http_auth_ident); 
if($data != '') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

return $response ;
}

 

Share this post


Link to post
Share on other sites

Juste pour  info j'avais ouvert un ticket chez Infomaniak et voilà leur réponse :
 

D'après quelques billets de blog technique (https://www.bram.us/2014/10/26/php-5-6-automatically-populating-http_raw_post_data-is-deprecated-and-will-be-removed-in-a-future-version/), il semblerait que ceci apparaissent même lorsque l'on ne fait pas de requêtes POST.
Vous pouvez soit ignorer ces entrées, soit tenter une migration sous PHP7, ou essayer de mettre l'instruction qui va bien dans un .htaccess étant donné que c'est modifiable par dossier comme décrit içi (http://php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data ).

Share this post


Link to post
Share on other sites

C'est ton script qui génère ça, ou ce que te renvoi la requête http qu'il fait ? (auquel cas, c'est plutôt dans l'api qu'il faut regarder, si elle t'appartient)

 

Sinon, tu enlèves simplement l'affichage des E_DEPRECATED dans ton php.ini, ce qui devrait être déjà le cas sur un serveur de production en passant

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...