Nginx 不解析 PHP 变下载了?!怎么解决?

月光下的足球 2月前  服务器   404

前段时间购买了阿里云的99元一年的VPS,用的是Alibaba Cloud Linux 系统,在上面全新搭建 LNMP。手动一个个安装太麻烦,于是用的是阿里云自带的 LNMP 安装包,可一键部署,速度快很多。安装看起来是成功了,但是当我把网站(WordPress)部署上去的时候,发现无法解析PHP文件,直接变成下载了。这是什么情况?是不是 Nginx 上哪里要配置过?

1 个回答
  • 小何同志 2月前
    2
    这确实是个问题,我之前也碰到过的,并且折腾了挺久,后来是这么解决的:
    打开 Nginx 的配置文件,vi /etc/nginx/nginx.conf,在 server 段加入:

             location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO  $fastcgi_path_info;
                # $document_root 是 root 指定的路径
                fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
                include        fastcgi_params;
            }

    这样就正常解析PHP了。之所以会变成下载,就是因为没有正常解析。

    此外,我发现也可以通过在 server 段加入:
    include /etc/nginx/default.d/*.conf;
    来解决。
    cd /etc/nginx/default.d/
    发现里面有个php.conf文件,打开后代码如下:
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_intercept_errors on;
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_pass   php-fpm;
    }
    同样也是解析 PHP 的配置代码。
    1 回复引用 引用
    • 探知网
      3
        立即登录 立即注册
返回
发新帖