Maison >développement back-end >Problème PHP >Raison pour laquelle php ne peut pas recevoir de données de publication
Vérifiez si le type de contenu des informations d'en-tête est "content-type:application/x-www-form-urlencoded" Cette transmission consiste à soumettre des données sous forme de php Utilisez la méthode $_POST pour accepter. (Apprentissage recommandé : Tutoriel vidéo PHP)
Si le type de contenu des informations d'en-tête n'est pas "content-type:application/json", la transmission est en json méthode pour soumettre des données, PHP doit utiliser file_get_contents("php://input") pour obtenir le flux d'entrée Accepter
Débutants en PHP, utilisez echo $_POST["variable"] et var_dump. ($_POST) Impossible d'obtenir les données de publication.
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 la déclaration ( Les déclarations avec des points-virgules sont des déclarations de 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 localhost :63342/ Sous cette forme)
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
Le La méthode est la suivante :
1. Recherchez le fichier /xampp/apache/conf/httpd.conf
2. Recherchez le code 92aac8a5cc4b2dcfdd313b09f4c3c819 block
3. Dans c93b32d080bdc170856857917cd36ff0 :
# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名 # "E:/phpworkspace/" : 这个是目录的绝对路径 Alias /phpworkspace/ "E:/phpworkspace/" # 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下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 tout
(2) Ensuite, dans PhpStorm, recherchez File->Settings-. >Construction, Exécution, Déploiement->Déploiement, Il est initialement vide. Cliquez sur le signe plus vert pour ajouter 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 l'onglet Connexion à droite ont configuré le serveur sur le port 80. Serveur Apache sous http://localhost
, remplacez-le par le répertoire de travail que vous avez mappé au projet local et définissez le Chemin local sous la balise Mappings vers le répertoire de votre projet local.
À ce stade, cliquez sur le navigateur depuis PhpStorm, et l'URL consultée n'a plus le champ 63342 port. Au lieu de cela, le serveur Apache local est utilisé 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!