Nginx 请求 PHP 文件 报 File not found 错误处理

妖狐艹你老母 2022-09-13 12:29 114阅读 0赞

这个错误很常见,主要有下面两种几种

  1. php-fpm 找不到 SCRIPT_FILENAME 里执行的php文件

  2. php-fpm 不能访问所执行的 php,也就是权限问题

第一种情况

可以在你的location php 里面添加当文件不存在时返回404而不是交给php-fpm进行处理

  1. location ~ \.php$
  2. {
  3. ...
  4. #文件不存在转404
  5. try_files $uri = 404;
  6. ...
  7. }
  8. location ~ \.php$ {
  9. root html;
  10. fastcgi_pass 127.0.0.1:9000;
  11. fastcgi_index index.php;
  12. fastcgi_param SCRIPT_FILENAME /script$fastcgi_script_name;
  13. include fastcgi_params;
  14. }
  15. 然后,在你的配置文件中找到下面这段
  16. fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

替换成下面

  1. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

然后重新加载nginx

nginx -s reload

第二种情况

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

; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

发表评论

表情:
评论列表 (有 0 条评论,114人围观)

还没有评论,来说两句吧...

相关阅读