Pendant le développement de PHP, la fonction d'en-tête est souvent utilisée pour définir les informations d'en-tête HTTP, telles que la redirection, le type de contenu, le contrôle du cache, etc. Étant donné que la fonction d'en-tête affecte directement les informations d'en-tête HTTP de la réponse, il est important de s'assurer qu'il sortira correctement pendant le débogage. Grâce aux outils de développeur du navigateur, vous pouvez vérifier efficacement si la fonction d'en-tête est correctement étendue.
Dans cet article, nous expliquerons comment utiliser les outils de développeur de navigateur pour vérifier si la sortie de la fonction d'en-tête est correcte.
Tout d'abord, nous utilisons la fonction d'en-tête pour envoyer des en-têtes HTTP via le script PHP. Par exemple, nous utilisons l'en-tête pour la redirection de page:
<?php
// utiliser header Les fonctions effectuent une redirection de page
header('Location: https://m66.net/target-page');
exit();
?>
Dans cet exemple, nous utilisons l'en-tête pour rediriger l'utilisateur vers une nouvelle page. Notez que la fonction d'en-tête doit être appelée avant toute sortie lors de l'exécution, sinon une erreur "en-têtes déjà envoyée" se produira.
Ouvrez votre navigateur et chargez la page PHP contenant la fonction d'en-tête .
Appuyez sur F12 (ou cliquez avec le bouton droit sur la page et sélectionnez "Vérifier") pour ouvrir les outils du développeur.
Accédez à l'onglet "réseau", où toutes les demandes de réseau avec le serveur sont affichées.
Dans l'onglet "réseau" de l'outil de développeur, actualisez la page. Vous verrez la demande avec le serveur et la réponse HTTP correspondante. Voici quelques points clés:
Trouvez la demande de page que vous venez de charger dans la liste des demandes. Cliquez sur la demande pour afficher les détails de la demande.
Dans les détails de la demande, passez à l'onglet "En-têtes" et vous verrez l'en-tête de réponse HTTP. Dans l'en-tête de réponse, le contenu que vous définissez via la fonction d'en-tête doit être inclus. Par exemple, dans le cas de notre redirection, l'en-tête de l'emplacement doit être affiché comme:
Location: https://m66.net/target-page
En plus de l'en-tête de localisation , vous devez également vérifier le code d'état de la réponse. Par exemple, lors de la redirection, le serveur doit renvoyer un code d'état fondé 302 , indiquant que la page a été temporairement redirigé. Vous pouvez voir le code d'état dans la section "Code d'état":
Status Code: 302 Found
Si vous constatez que vous ne voyez pas la sortie d'en-tête attendue dans l'onglet "réseau", cela pourrait être parce que:
Erreur dans l'ordre de sortie : assurez-vous qu'il n'y a pas de sortie HTML avant la fonction d'en-tête , y compris les espaces et les pauses de ligne.
Problème de mise en cache : le cache du navigateur peut faire afficher les vieilles réponses. Vous pouvez essayer d'effacer le cache dans votre navigateur ou accéder à la page en utilisant "Mode secret".
Si vous voyez que les informations d'en-tête attendues sont écrasées par d'autres en-têtes de réponse, cela peut être dû au fait que d'autres fonctions d'en-tête dans le script PHP modifient la sortie précédente. Assurez-vous qu'il n'y a pas de conflits d'appels en en-tête multiples.
En utilisant les outils de développement du navigateur, vous pouvez vérifier que la sortie de la fonction d'en-tête dans les scripts PHP est très facile. En affichant l'en-tête de réponse de la demande de réseau, vous pouvez confirmer que l'en-tête HTTP attendu a été envoyé avec succès, débogage et résolvant ainsi le problème. Si la fonction d'en-tête ne fonctionne pas comme prévu, vérifiez l'ordre de sortie, le cache et l'ordre des appels de fonction.
J'espère que cet article peut vous aider à mieux utiliser des outils de développeur de navigateur pour déboguer la sortie de la fonction d'en-tête en PHP.