Nginx访问PHP文件的File not found错误处理,两种情况

Linux piniu 1016浏览 0评论

这个错误很常见,原有有下面两种几种
1. php-fpm找不到SCRIPT_FILENAME里执行的php文件
2. php-fpm不能访问所执行的php,也就是权限问题

第一种情况
可以在你的location php 里面添加当文件不存在时返回404而不是交给php-fpm进行处理
location ~ \.php$
{

#文件不存在转404
try_files $uri = 404;

}

然后,在你的配置文件中找到下面这段

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

替换成下面:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

然后重新加载nginx配置文件

systemctl restart nginx

第二种情况

两种解决方法:
第一种,就是把你root文件夹设为其他用户允许
第二种,找到你的php-fpm的配置文件,找到下面这段,把www替换成你要的用户组

; RPM: www Choosed to be able to access some dir as httpd
user = www   # 比如换成 user =nginx
; RPM: Keep a group allowed to write in log dir.
group = www #比如换成 user =nginx


发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: