En raison des améliorations significatives des performances apportées par l'émergence de php7, je voulais découvrir les fonctionnalités apportées par la nouvelle version, j'ai donc effectué une mise à niveau.
J'ai trouvé une erreur lors de la demande de l'interface sur le site Web, j'ai enregistré la solution après le dépannage
Après la mise à niveau de php, le site a signalé une erreur, l'invite est la suivante :
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 Warning: Cannot modify header information - headers already sent in Unknown on line 0
Après avoir vérifié le site officiel de php, nous avons appris que certaines fonctionnalités ont été abandonnées dans php5.6.X et les versions ultérieures. Pour plus de détails, consultez :
http. ://php.net/manual/zh /migration56.deprecated.php
La raison est :
$HTTP_RAW_POST_DATA 和 always_populate_raw_post_data
L'utilisation de always_populate_raw_post_data provoquera une erreur E_DEPRECATED lorsque remplir $HTTP_RAW_POST_DATA.
Veuillez utiliser php://input au lieu de $HTTP_RAW_POST_DATA car il pourrait être supprimé dans les versions PHP ultérieures.
Définissez always_populate_raw_post_data sur -1 (cela forcera $HTTP_RAW_POST_DATA à ne pas être défini, donc cela ne provoquera pas d'erreur E_DEPRECATED) pour expérimenter le nouveau comportement.
Méthode de réparation :
1. Modifiez le fichier de configuration php et recherchez php.ini. Activez Always_populate_raw_post_data et définissez-le sur -1.
always_populate_raw_post_data = -1
2. Si $HTTP_RAW_POST_DATA est utilisé dans le projet, remplacez-le par :
À l'origine, $info = $HTTP_RAW_POST_DATA
Changez-le par $info = ; file_get_contents( 'php://input');
Recommandé : "PHP7"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!