Maison  >  Article  >  développement back-end  >  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 ?

藏色散人
藏色散人original
2020-08-24 09:40:384173parcourir

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 c32a9f2db1b2beebf0f5e883b74dab6f 3. Ajoutez le niveau enfant de 92aac8a5cc4b2dcfdd313b09f4c3c819 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 1d2836e31d6e6e17d304ed49097f9974, comme suit :

<Directory "E:/phpworkspace/">
    AllowOverride All
    Options Indexes FollowSymLinks Includes ExecCGI
    Require all granted
</Directory>

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!

Déclaration:
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