2016-12-17 5 views
0

Вместо того, чтобы выполнять .php, он загружается.Вместо выполнения .php, Nginx загружает файл

Я пытаюсь настроить php7 на Ubuntu 16.04 LTS, и мой/etc/nginx/sites-available/default выглядит так.

Может ли кто-нибудь помочь?

server { 
      listen 80 default_server; 
      listen [::]:80 default_server; 

      root /var/www/html; 

      index index.php index.html index.htm index.nginx-debian.html; 
      server_name mydomain.com www.mydomain.com; 

      return 301 https://$server_name$request_uri; 

      location/{ 
      try_files $uri $uri/ =404; 
      } 

      location ~ \.php$ { 
      include snippets/fastcgi-php.conf; 
      include fastcgi_params; 
      fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
      } 
    } 

    server { 
      index index.html index.htm index.nginx-debian.html; 
      # SSL configuration 
      listen 443 ssl http2 default_server; 
      listen [::]:443 ssl http2 default_server; 
      include snippets/ssl-mydomain.com.conf; 
      include snippets/ssl-params.conf; 

      location /web { 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $remote_addr; 
      proxy_set_header Host $host; 
      proxy_pass http://localhost:32400/web/; 
      } 

    } 

ответ

0

Вы перенаправлять все HTTPS и ваш сервер HTTPS часть не обрабатывает PHP см не хватает fastcgi конфиги.

0

Похоже, что на вашем втором сервере (ssl) отсутствует блок location ~ \.php$. Это то, что говорит nginx выполнять PHP, а не служить ему сырым.

Другими словами, дать этому идти:

server { 
     listen 80 default_server; 
     listen [::]:80 default_server; 

     root /var/www/html; 

     index index.php index.html index.htm index.nginx-debian.html; 
     server_name mydomain.com www.mydomain.com; 

     return 301 https://$server_name$request_uri; 

     location/{ 
     try_files $uri $uri/ =404; 
     } 
} 

server { 
     index index.html index.htm index.nginx-debian.html; 
     # SSL configuration 
     listen 443 ssl http2 default_server; 
     listen [::]:443 ssl http2 default_server; 
     include snippets/ssl-mydomain.com.conf; 
     include snippets/ssl-params.conf; 

     location /web { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://localhost:32400/web/; 
     } 

     location ~ \.php$ { 
     include snippets/fastcgi-php.conf; 
     include fastcgi_params; 
     fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
     } 
} 
Смежные вопросы