我刚刚安装了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响应。
请帮帮我。提前谢谢。
答案 0 :(得分:1)
您忘记添加SCRIPT_FILENAME
:
location ~ \.php$ {
# add this:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;