ubuntu16.04+nginx+php7.0
由于nginx与php-fpm之间的一个小bug,会导致这样的现象:
网站中的静态页面 .html 都能正常访问,而 .php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。
简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。
为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件
sudo vim /etc/nginx/fastcgi_params
在文件里面添加
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
然后重启服务
#service php7.0-fpm reload //重启php7.0-fpm
# service nginx reload //重启nginx
再次访问ok