2013-05-25 22 views
9

Niedawno zainstalowałem NGINX i PHP-FPM na serwerze Centos6. Mogę wyświetlić inne strony php na mojej stronie, ale z jakiegoś powodu mój plik index.php zostanie pobrany, a nie przetworzony jak normalna strona php.NGINX i PHP-FPM pobierają index.php zamiast go przetwarzać.

Oto config nginx:

# The default server 
# 
server { 
listen  80 default_server; 
server_name example.com; 

#charset koi8-r; 

#access_log logs/host.access.log main; 

location/{ 
    root /var/www/html/; 
    index index.php index.html index.htm; 
} 

error_page 404    /404.html; 
location = /index.php { 
    root /var/www/html; 
} 

# redirect server error pages to the static page /50x.html 
# 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
    root /usr/share/nginx/html; 
} 

# proxy the PHP scripts to Apache listening on 127.0.0.1:80 
# 
#location ~ \.php$ { 
# proxy_pass http://127.0.0.1; 
#} 

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
# 
location ~ \.php$ { 
    root   /var/www/html; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include  fastcgi_params; 
} 

# deny access to .htaccess files, if Apache's document root 
# concurs with nginx's one 
# 
location ~ /\.ht { 
    deny all; 
} 

} 

Odpowiedz

6

spróbować usunąć ten blok:

location = /index.php { 
    root /var/www/html; 
} 
+0

TAK! To działa! DZIĘKUJĘ CI! – Salty

+4

Małe wyjaśnienie, dlaczego tak się dzieje, dostarczyłoby mi '+ 1'a – samayo

+3

Wierzę, ponieważ przychodzi przed blokiem" location ~ \ .php $ "i dopasowuje /index.php, który jest wykonywany jako pierwszy, i doesn ' t zawiera dowolne z poleceń fastcgi, aby powiedzieć nginxowi, aby wykonał połączenie fastcgi ... więc nginx wyświetla plik php jako pobieranie binarne, ponieważ nie wie, co zrobić z plikiem .php –

Powiązane problemy