Maison > développement back-end > Problème PHP > Que dois-je faire si php ne peut pas recevoir les paramètres de publication ?

Que dois-je faire si php ne peut pas recevoir les paramètres de publication ?

藏色散人
Libérer: 2023-03-05 06:46:02
original
4250 Les gens l'ont consulté

Solution au problème selon lequel PHP ne peut pas recevoir les paramètres de publication : 1. Vérifiez les informations d'en-tête "content-type" 2. Utilisez la méthode [file_get_contents("php://input")] pour obtenir l'entrée ; flux.

Que dois-je faire si php ne peut pas recevoir les paramètres de publication ?

Recommandé : "Tutoriel vidéo PHP"

La raison pour laquelle les données de publication de l'interface PHP ne peuvent pas recevoir paramètres

1. Vérifiez si le type de contenu des informations d'en-tête est "content-type:application/x-www-form-urlencoded". form. PHP utilise la méthode $_POST pour l'accepter.

2. Si le type de contenu des informations d'en-tête est "content-type:application/json", la transmission consiste à soumettre les données en mode json et PHP doit utiliser file_get_contents("php:// input") pour l'obtenir. La méthode du flux d'entrée accepte

3. Si vous êtes nouveau sur PHP, vous ne pouvez pas obtenir les données de publication en utilisant echo $_POST["variable"] et var_dump ($_POST).

La solution est la suivante :

1. Recherchez le fichier de configuration php.ini, recherchez la variable activate_post_data_reading, assurez-vous qu'elle est ouverte et supprimez le point-virgule devant l'instruction ( l'instruction avec un point-virgule est l'instruction Commentaire) :

2. Observez l'adresse de votre navigateur exécutant php, vous constaterez que le numéro de port de service utilisé pour ouvrir le navigateur dans PhpStorm est 63342 (l'URL est sous la forme de localhost:63342/)

La raison du problème est donc la suivante : PhpStorm utilise son propre serveur interne par défaut, mais n'utilise pas le serveur Apache dans xampp. Le serveur intégré de phpStorm utilise le port 63342, et il y a un problème au sein du serveur, provoquant une anomalie de la méthode POST et si vous placez le projet dans le répertoire de travail du serveur Apache et entrez localhost dans la barre d'adresse, le serveur Apache est utilisé à ce moment-là et le numéro de port par défaut est 80, le serveur Apache peut exécuter le programme normalement.

Comme il y a un problème avec le serveur interne de PhpStorm, la solution est de trouver un moyen de ne pas utiliser le serveur interne. Il existe deux méthodes :

1. Créez le projet dans le répertoire de travail du serveur Apache, et saisissez directement l'adresse localhost dans la barre d'adresse du navigateur à chaque exécution

2. je veux toujours passer de Ouvrez le débogueur du navigateur dans PhpStorm, ce qui peut être réalisé en modifiant la configuration :

(1) Mappez d'abord le répertoire du serveur Apache au répertoire local

La méthode est la suivante suit :

1. Recherchez le fichier /xampp/apache/conf/httpd.conf

2. Recherchez le bloc de code 3. Ajoutez le niveau enfant de Le code suivant :

# /phpworkspace/ : L'alias du répertoire sur les autres disques est l'alias du répertoire que vous souhaitez mapper.

# "E:/phpworkspace/" : Ceci est le chemin absolu

Alias ​​​​/phpworkspace/ "E:/phpworkspace/"

# Vous pouvez maintenant accéder au projets dans le dossier phpworkspace sous E drive via //localhost/phpworkspace/

4

Ajoutez un morceau de code au même niveau que , comme suit :

<Directory "E:/phpworkspace/">
    AllowOverride All
    Options Indexes FollowSymLinks Includes ExecCGI
    Require all granted
</Directory>
Copier après la connexion

Terminé. Maintenant, redémarrez Apache et visitez : http://localhost /phpworkspace/ c'est bien

(2) Ensuite, dans PhpStorm, recherchez Fichier->Paramètres->Build, Execution, Deployment. ->Déploiement. Il est initialement vide. Cliquez sur le signe plus vert. Ajoutez un serveur local, nommez-le simplement localhost. Sélectionnez En place pour Type :

Une fois la création terminée, les paramètres par défaut sous Connexion. à droite, vous avez configuré le serveur en tant que serveur Apache sous le port 80, c'est-à-dire http:// localhost

Remplacez-le par le répertoire de travail que vous avez mappé au projet local :

Définir le chemin Local sous la balise Mappings vers le répertoire de votre projet local :

A ce moment, démarrez depuis PhpStorm Cliquez sur le navigateur, l'URL accédée n'a plus le champ 63342 port, mais utilise le serveur Apache local, et les données du formulaire correspondantes peuvent être reçues normalement

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal