2010-12-05 7 views
5

Ich habe PHP auf einem Windows 7 x64-Rechner mit IIS7 über die Windows Web App Gallery installiert. Alles schien gut zu laufen, und eine einfache phpinfo() Seite funktioniert so, wie man denkt. Wenn ich jedoch eine POST-Anfrage an eine PHP-Seite mache, bleibt die Anfrage für immer hängen. Sehen Sie die sehr einfache Testseite unten ... Es hat nicht einmal einen dynamischen Inhalt darin.IIS7 + PHP + HTTP POST = hängen?

Ich habe viel zu viel Zeit damit verschwendet. Irgendwelche Ideen? Vielen Dank!

page.php:

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

Handler Mapping:

<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

Ich bin nicht wirklich ein Fenster gut, aber ich erinnere mich daran, dass bei der Verwendung von IIS (das wäre eine Version oder 2 unter Small Business Server) musste ich speziell eine POST-Anfrage auf dem virtuellen Host (oder was auch immer der Name dieser Entität ist unter IIS). Aber ich habe es als ein Modul ausgeführt, denke ich, nicht als CGI, also weiß ich nicht sicher, ob das relevant ist ... Außerdem könnten Sie bessere Antworten erhalten, wenn Sie dies auf Serverfault anstatt SO posten. – prodigitalson

Antwort

2

Nach viel Fehlerbehebung, es stellte sich heraus, dass diese Zeile in meinem web.config-Datei das Problem verursacht wurde:

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

Ich hatte das gleiche Problem. Irgendein PHP POST zu einer anderen PHP Seite hängte. Bei der Neuerstellung der Datei "web.config" von Anfang an habe ich eine Fehlermeldung gefunden, die die Ausführung des AppPool Managed Pipeline-Modus im Classic-Modus vorschlägt.

Nach der oben genannten Änderung funktioniert mein PHP-Code wie erwartet.

+1

Das gleiche hier. Ich hatte ein Unterverzeichnis in einer ASP.NET-Site, also habe ich gerade den Ordner in eine Anwendung in IIS umgewandelt und einen neuen App-Pool dafür erstellt (im klassischen Modus) –

+0

Wie kann dies getan werden? Benötige ich Zugang zum Server? – GorillaApe

0

Das hat mich auch verrückt gemacht, versuchen, einige PHP-Codeigniter-Seiten an eine ASP.NET-Site zu verschrauben. Das Konfigurieren des PHP-Anwendungsunterordners als Anwendung und das Ausführen in einem klassischen ASP.NET-Anwendungspool hat den Zweck erfüllt.