Aller au contenu
sparh

PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA

Noter ce sujet :

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

 

Partager ce message


Lien à poster
Partager sur d’autres 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 ).

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×