我正在安装一个网站在一个液滴(数字海洋)。我有一个问题安装NGINX与PHP正确。我做了一个教程https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04,但当我试图运行一些。php文件,它只是下载它… 例如……http://5.101.99.123/info.php它正在工作,但是……如果我访问主http://5.101.99.123,它会下载index.php:/

任何想法?

-rw-r--r--  1 agitar_user www-data   418 Jul 31 18:27 index.php
-rw-r--r--  1 agitar_user www-data    21 Aug 31 11:20 info.php

My /etc/nginx/sites-available/default

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.html index.htm index.php;

        # Make site accessible from http://localhost/
        server_name agitarycompartir.com;

               location ~ \.php$ {
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #               # With php5-cgi alone:
    #               fastcgi_pass 127.0.0.1:9000;
    #               # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }
  

              location / {
                    
                    try_files $uri $uri/ =404;
                    # Uncomment to enable naxsi on this location
                    # include /etc/nginx/naxsi.rules
            }

...

其他“地点”被评论为……

.


当前回答

对我来说是这样的: fastcgi_pass unix: / var /运行/ php5-fpm.sock;

这必须是公正的: fastcgi_pass unix: / / php5-fpm.sock运行;

其他回答

如果还有什么对你没用的话。也许之前你用info。php测试文件安装了apache2。只需清除本地主机的应用程序数据(缓存,cookie)。

检查你的nginx配置文件扩展名为*.conf。 例如:/etc/nginx/conf.d/myfoo.conf

我也遇到了同样的情况。在我将我的配置文件从myfoo重命名为myfoo.conf后,它修复了。 不要忘记在重命名nginx后重新启动它。

我一直有同样的问题,什么解决了它是这个服务器块也有这个块上面的其他位置块,如果你有css不加载问题。我把它添加到sites-available conf文件中。

location ~ [^/]\.php(/|$) {
fastcgi_split_path_info  ^(.+\.php)(/.+)$;
fastcgi_index            index.php;
fastcgi_pass             unix:/var/run/php/php7.3-fpm.sock;
include                  fastcgi_params;
fastcgi_param   PATH_INFO       $fastcgi_path_info;
fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

我在Ubuntu 16.04和php7中使用的是删除这一行

fastcgi_split_path_info ^(. + \。php)美元(/ +);

之后它就停止下载php文件了。

如果你提出的任何答案都不管用,试试这个:

1.修复etc/php5/fpm/pool.d中的www.conf:

Listen = 127.0.0.1:9000;(删除所有包含Listen =的行)

2.修复usr/local/nginx/conf中的nginx.conf

删除块html{}中的服务器块server{}(如果存在),因为我们默认使用server{}(配置文件etc/nginx/site-available),它包含在nginx.conf中。

3.修复etc/nginx/site-available中的默认文件

位置~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index . php。 包括fastcgi_params; }

4.重新启动nginx服务

Sudo服务nginx重启

5.重启PHP服务

Service php5-fpm restart

6.享受

在/usr/share/nginx/html目录下创建任意php文件,然后运行server_name/file_name.php (server_name取决于你的配置,通常是localhost, file_name.php是在/usr/share/nginx/html中创建的文件名)。

我使用的是Ubuntu 14.04