wincache Tableau $_POST vide dans PHP 5.2.6/IIS CGI




wincache (2)

Eh bien, j'ai juste eu le même problème.

Le fichier PHP.ini est difficile ... assurez-vous que vous n'avez pas "GB" où il devrait être "G". J'ai eu mon "post_max_size" à 1 Go au lieu de 1G, PHP s'est bien passé, sauf pour les requêtes POST.

Je rencontre un problème très étrange avec PHP 5.2.6 w / IIS sur Windows XP (j'ai essayé à la fois CGI et ISAPI). J'utilise une nouvelle installation avec les paramètres par défaut php.ini.

Tout d'abord, supposons que le code HTML suivant (laid, mais efficace):

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="test1" value="foo" />
<input type="hidden" name="test2" value="bar" />
<input type="submit">
</form>
<br /><br />
<pre>
<?php print_r($_POST); ?>
</pre>

Lorsque le formulaire est soumis, je m'attends à ce qu'il fasse ressortir un tableau contenant les deux variables cachées. Au lieu de cela, tout ce que je vois est un tableau vide. Si je change la méthode de formulaire à "get" et change print_r ($ _ POST) à print_r ($ _ GET), je vois les éléments du tableau sans problème.

J'ai essayé des variantes telles que <?php print file_get_contents('php://input'); ?> <?php print file_get_contents('php://input'); ?> et <?php echo print_r($HTTP_POST_VARS); ?> <?php echo print_r($HTTP_POST_VARS); ?> en vain. Des idées où le problème pourrait se trouver?


Eh bien, si c'est une consolation, votre code fonctionne comme prévu en PHP5 avec Apache.

Un rapide Google a révélé quelques autres personnes avec le même problème mais aucune solution définitive - la chose la plus proche était celle-ci ...

Vérifiez votre configuration IIS et voyez quels verbes sont autorisés pour PHP. Ma conjecture est que le poteau n'est pas inclus. Vous devriez avoir GET et POST activés au minimum, ou simplement vous faciliter la vie et autoriser tous les verbes.

Assurez-vous de mettre à jour votre question si vous trouvez une solution. Je suis sûr que d'autres personnes en bénéficieront.





iis