前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx访问PHP文件的File not found错误处理

Nginx访问PHP文件的File not found错误处理

作者头像
1900
发布2022-12-05 14:00:48
1.7K0
发布2022-12-05 14:00:48
举报
文章被收录于专栏:aiiyx.cn分享

这个错误很常见

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

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

location ~ .php$ { ... #文件不存在转404 try_files $uri = 404; ... }

代码语言:javascript
复制
        location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /script$fastcgi_script_name;
            include        fastcgi_params;
        }

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

代码语言:javascript
复制
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

替换成下面(我的当时就是这个原因)

代码语言:javascript
复制
 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

然后重新加载nginx配置文件 systemctl restart nginx(/usr/local/nginx/sbin/nginx)

------------------------------另一个网友的问题,其实问题一样----

问题原因:

代码语言:javascript
复制
fastcgi_param SCRIPT_FILENAME scripts$fastcgi_script_name;

解决办法:改成  

代码语言:javascript
复制
fastcgi_param SCRIPT_FILENAME /Users/linchen/Sites$fastcgi_script_name;

其中,/Users/linchen/Sites  是网站的根目录

最终内容如下:

代码语言:javascript
复制
location ~ .php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /Users/linchen/Sites$fastcgi_script_name;
  include fastcgi_params;
  fastcgi_intercept_errors on;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/09/19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档