Aller au contenu

PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA


Sujets conseillés

Posté

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 ;
}

 

Posté

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 ).

  • 2 semaines plus tard...
Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...