Nginx + PHP-FPM 提供 .php 文件下载

Nginx + PHP-FPM 提供 .php 文件下载

这是一个被问过数千次的问题,因为我讨厌写帖子,所以在进入(对我来说)烦人的写作部分之前,我阅读并搜索所有可能的文档。

所以我已经启动了 Nginx 和 PHP-FPM,并在 CentOS 7.2 上运行。 PHP-FPM 正在与/var/run/php-fpm/php-fpm.sock正确声明的www.conf

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php-fpm/php-fpm.sock

这是我的我的网站.conf

server {
    listen   80;
    server_name  www.mywebsite.net;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

我也有cgi.fix_pathinfo=0php.ini

我已经重新启动/重新加载了 Nginx 和 PHP-FPM 服务,重新启动了整个服务器,但什么也没得到。我无法显示 .php 文件,它们只是下载的文件。

我缺少什么?

提前致谢。

答案1

配置server中是否还有其他块,特别是带有或指令的块? 还尝试添加和配置以查明是否可以访问该服务器以及是否存在任何错误。Nginxlisten 80 defaultdefault_server
access_logerror_logNginx

答案2

sudo vim /etc/php-fpm.d/www.conf

不要取消注释listen.mode = 0660

相关内容