Nginx 1.14和php7.2-fpm将php作为application / octet-stream返回下载

问题描述 投票:0回答:1

我刚刚在Windows 10 WSL上安装了Ubuntu 18.04,这就是我用它做的:

sudo add-apt-repository ppa:nginx/stable
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install composer npm
sudo apt install nginx postgresql-10
sudo apt install php7.2 php7.2-cli php7.2-fpm php7.2-curl php7.2-gd php7.2-mysql php7.2-mbstring
sudo apt upgrade

有我的项目的nginx配置:

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

    listen 443 ssl;
    listen [::]:443 ssl;

    root /var/www/domains/laravel/public;

    index index.php index.html index.htm;

    server_name laravel.loc;

    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        try_files $uri $uri/ /index.php$query_string =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        #fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_pass 127.0.0.1:9000;
    }

    location ~ /\.ht {
        deny all;
    }
}

除了nginx.confuser user;之外,user = user group = user listen = 127.0.0.1:9000 没有变化

www.conf

php7.2-fpm's pool.d目录的Laravel 5.6

所以...我在Vue.jsNginx 1.10上获得了SPA项目,该项目在php7.0-fpm/上正常工作,返回/login的页面并与Vue路线一起工作,但是如果我想要获得application/octet-stream或某些api路线(或任何另一个网址来自浏览器,它给了我public/index.phpdefault_type application/octet-stream;下载。我试图将php mime类型添加到nginx配置中,并将nginx.conf中的default_type text/html;更改为qazxswpoi,因为我在一些建议中阅读,但它确实没有做到这一点。已经打破了我的想法,任何人都请帮忙!

nginx windows-subsystem-for-linux php-7.2
1个回答
0
投票

这可能与此版本的Nginx的HTTP / 2支持有关。

应始终通过SSL使用HTTP / 2。

通过SSL / ClearTCP透明地处理HTTP / 1和HTTP / 2实际上非常困难,并且Nginx无法很好地处理。

尝试从启用Nginx的站点中使用http2删除任何站点并重新启动Nginx。您还可以尝试使用HTTPS发出请求,您的网页应该没有任何问题。

仅通过SSL移至HTTP / 2或暂时忘记HTTP / 2。

© www.soinside.com 2019 - 2024. All rights reserved.