ejecuta - php fpm nginx
Nginx y FastCGI descargan archivos PHP en lugar de procesarlos (2)
Estoy ejecutando en Windows 7 (64 bits), con PHP 5.4.12 y Nginx 1.5.8.
He leído muchos tutoriales sobre cómo configurarlo y solucionar este problema, que es cuando solicito un archivo PHP desde mi servidor local, lo descarga como un archivo en lugar de mostrar la página PHP. Debajo está mi archivo nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8081;
server_name localhost;
access_log C:/nginx/logs/access.log;
error_log C:/nginx/logs/error.log;
root C:/nginx/html;
fastcgi_param REDIRECT_STATUS 200;
location ~ /.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
Estoy ejecutando nginx.exe manualmente a través del símbolo del sistema. También intenté iniciar php-cgi.exe manualmente primero en un símbolo del sistema por separado, así:
C:/php5.4.12/php-cgi.exe -b 127.0.0.1:9000
El archivo php que estoy solicitando está dentro de C: / nginx / html, y lo estoy solicitando como:
http://localhost:8081/info.php
Y lo descarga. El contenido de este archivo PHP es:
<?php
phpinfo();
?>
¿Cómo puedo hacer que mis scripts PHP se ejecuten en este entorno? Alguien tiene experiencia con esto?
Intenta cambiar la default_type application/octet-stream;
a default_type text/html;
Tal vez su script php no establece un tipo MIME de contenido y va desde nginx.
Intenta colocar "*" aquí
location ~* /.php$ {
Hay algo mal con sus rutas, y nginx no sabe que la ruta a la que se accede a través de URL es la ruta que debe pasar a través de "fastcgi_pass". Por lo tanto, da el archivo para descargar.
Verifique su registro de errores desde:
C:/nginx/logs/error.log;
¿Tiene un "C: /nginx/html/info.php;"?