php5.6-fpm与ubuntu 16.04上的nginx接收无数据

时间:2016-11-27 19:47:51

标签: php nginx ubuntu-16.04 fpm

我刚刚安装了ubuntu 16.04和php5.6-fpm以及nginx。 nginx服务器块如下:

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

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location ^~ /.git/{
            deny all;
    }

location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php/php5.6-fpm.socket;
            fastcgi_index index.php;
            include /etc/nginx/fastcgi_params;
            fastcgi_intercept_errors on;
    }

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

现在当我拿到localhost时,它什么都没有给我看。未收到数据。响应代码200。

如果我尝试访问任何静态文件。它工作正常。例如:localhost / xyz.png将显示图像。 但是在尝试运行php脚本时没有收到任何数据。 如果脚本文件存在与否则无关紧要。 php脚本的响应是不变的。即没有数据,但200响应。

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您忘记添加SCRIPT_FILENAME

location ~ \.php$ {
    # add this:
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;