2010-12-05 76 views
5

我通過Windows Web App Gallery在安裝有IIS7的Windows 7 x64機器上安裝了PHP。一切似乎都很順利,一個簡單的phpinfo()頁面就像你想象的那樣工作。但是,每當我對PHP頁面執行POST請求時,請求都會永久掛起。看到下面非常簡單的測試頁面......它甚至沒有任何動態內容。IIS7 + PHP + HTTP POST =掛?

我在這上面浪費了太多時間。有任何想法嗎?謝謝一堆!

page.php文件:

<html> 
<body> 
    <form action="page.php" method="post"> 
    <textarea name="apa"></textarea> 
    <input type="submit" value="ok" /> 
    </form> 
</body> 
</html> 

處理程序映射:

<handlers> 
     <add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\php-cgi.exe" resourceType="Either" requireAccess="Script" /> 
</handlers> 
+2

我不是一個真正的Windows腸道,但我似乎記得,當使用IIS(這將是一個版本或2前在Small Business Server下)我不得不在虛擬主機(或任何名稱該實體在IIS下)。但我正在將它作爲一個模塊運行,而不是像CGI那樣,所以我不確定它是否與之相關......另外,如果您在Serverfault上而不是SO上發佈,您可能會得到更好的響應。 – prodigitalson 2010-12-05 06:50:43

回答

2

很多故障排除之後,事實證明,這條線在我的web.config文件導致了問題:

<trace enabled="true" localOnly="false" pageOutput="false" requestLimit="40" /> 
3

我有這個相同的問題。任何PHP POST到另一個PHP頁面都被掛起。在重新構建web.config文件的過程中,我發現了一條錯誤消息,提示在Classic模式下運行AppPool 管理流水線模式

完成上述更改後,我的PHP代碼按預期工作。

+1

同樣在這裏。我在ASP.NET網站中有一個子目錄,所以我只是將該文件夾轉換爲IIS中的應用程序,併爲其創建了一個新的應用程序池(在經典模式下) – 2012-11-15 13:57:30

0

這也推動了我的瘋狂,試着將某些PHP Codeigniter頁面粘貼到ASP.NET網站上。將PHP應用程序子文件夾配置爲應用程序並在經典ASP.NET應用程序池中運行的技巧。