Maison >développement back-end >PHP7 >À propos de la gestion des erreurs après la mise à niveau de PHP7

À propos de la gestion des erreurs après la mise à niveau de PHP7

藏色散人
藏色散人avant
2020-05-24 17:52:283934parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer