2010-12-05 30 views
5

Instalé PHP en una máquina con Windows 7 x64 con IIS7 a través de Windows Web App Gallery. Todo parecía ir bien, y una simple página phpinfo() funciona como usted pensaría. Sin embargo, cada vez que hago una solicitud POST a una página PHP, la solicitud simplemente se cuelga para siempre. Vea la página de prueba más simple a continuación ... Ni siquiera tiene contenido dinámico.IIS7 + PHP + HTTP POST = ¿colgar?

He perdido demasiado tiempo en esto. ¿Algunas ideas? ¡Gracias un montón!

page.php:

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

Handler asignación:

<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

No soy realmente un instinto de Windows, pero me parece recordar que al usar IIS (esto habría sido una versión o hace 2 en Small Business Server) tuve que permitir específicamente una solicitud POST en el host virtual (o cualquiera que sea el nombre de esa entidad está bajo IIS). Pero lo estaba ejecutando como un módulo, creo, no como CGI, así que no sé con certeza si es relevante ... Además, es posible que obtenga mejores respuestas si publica esto en Serverfault en lugar de SO. – prodigitalson

Respuesta

2

Después de mucho la resolución de problemas, resultó que esta linea en mi archivo web.config fue la causa del problema:

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

Tuve este mismo problema. Cualquier POST PHP a otra página PHP estaba colgando. En el proceso de reconstrucción del archivo web.config desde cero, encontré un mensaje de error que sugería ejecutar el AppPool Modo de canal administrado en modo clásico.

Después de hacer el cambio anterior, mi código PHP está funcionando como se esperaba.

+1

Lo mismo aquí. Tenía un subdirectorio dentro de un sitio ASP.NET, así que simplemente convertí la carpeta a una Aplicación en IIS y creé un nuevo grupo de aplicaciones para él (En Modo Clásico) –

+0

¿Cómo se puede hacer esto? ¿Necesito acceso al servidor? – GorillaApe

0

Esto me estaba volviendo loco también, tratando de atornillar algunas páginas Codeigniter de PHP a un sitio ASP.NET. La configuración de la subcarpeta de aplicaciones PHP como una aplicación y ejecutándose en un Pool de aplicaciones ASP.NET clásico fue el truco.