PHP 5.2.6 / IIS CGI boş $ _POST dizi

2 Cevap php

Ben (CGI ve ISAPI hem de denedim), Windows XP üzerinde IIS w / PHP 5.2.6 ile bir çok garip bir sorun halinde çalıştırıyorum. Ben varsayılan php.ini ayarları ile yeni bir yükleme çalıştırıyorum.

Birincisi, (çirkin, ama etkili) HTML kodu aşağıdaki varsayalım:

<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>

Form gönderildiğinde, ben iki gizli değişkenleri içeren bir dizi ortaya çıkarmak için bekliyoruz. Bunun yerine tüm gördüğüm boş bir dizidir. Ben "olsun" ve ($ _GET) print_r için ($ _POST) print_r değiştirmek için form yöntemini değiştirirseniz, hiçbir sorun ile dizi öğeleri görmek.

Ben boşuna böyle <?php print file_get_contents('php://input'); ?> ve <?php echo print_r($HTTP_POST_VARS); ?> gibi varyasyonlar denedi. Sorun yalan olabilir Herhangi bir fikir?

2 Cevap

Eh, Apache PHP5 amaçlanan gibi kod çalışır teselli olur.

Hızlı Google aynı sorunu ancak kesin çözüm ile bir çift diğer insanları ortaya - yakın şeydi this ...

Check your IIS configuration and see what verbs are permitted for PHP. My guess is that POST isn't included. You should have GET and POST enabled at a minimum, or just make your life easy and allow all verbs.

Eğer bir çözüm bulmak eğer sorunuzu güncelleme emin olun; Ben diğer insanların yararına olacak eminim.

Şey, ben sadece aynı sorunu vardı.

Php.ini dosyası seçici olduğunu ... Eğer "G" olmalıdır "GB" yok emin olun. Ben PHP POST istekleri dışında, ince koştu, 1GB yerine 1G benim "post_max_size" vardı.