Erreur $HTTP_RAW_POST_DATA avec PHP 5.6/7.0

cracrayol

New Member
#1
Bonjour.

Mon hébergement était configuré pour utiliser la version PHP native. Hors, lorsque celle-ci est passé en 5.6, j'ai cette erreur qui est remonté :

Fatal error: 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.

Le problème, c'est que cette erreur est affiché avant que les headers sont générés et, du coup, cela me bloque certaines fonctionnalités.

Après recherche, le seul moyen de corriger ce problème semble de définir le paramètre always_populate_raw_post_data à -1 dans le php.ini (comme dit dans le message). Et la config par défaut de PHP n'inclu pas ce paramètre (et donc, par défaut, vaut 0 et génère donc ce message). Et il n'est pas possible de le moddifier via un ini_set().

Ma question va donc aux admins : êtes-vous au courant de ce problème et prevoyez-vous de modifier la config de php afin de passer ce paramètre à -1 ? Car du coup, je suis bloqué à PHP 5.5. (j'ai également ouvert un ticket)

Ou alors, aux autres personnes : avez-vous une idée pour contourner ce problème ?

Pour info, apparemment, le problème est que PHP rempli $HTTP_RAW_POST_DATA automatiquement si le type mime n'est pas reconnu par PHP. Et il semble que le type "application/json" envoyé par les requêtes ajax de jQuery ne soit pas reconnu par PHP.

EDIT : Réponse du support
Il suffisait de rajouter "php_value always_populate_raw_post_data -1" dans le .htaccess, à la base du site.
 
Dernière édition:
Haut