你认为是自己的错误毁灭了太阳系那是很可笑的,这样想实在是太自命不凡了,就像你在地面上做一个倒立,就认为自己举起了地球一样。 收藏本站
登陆 / 注册 搜索

阅读:1393   回复: 1

nginx php-fpm File not found.

原创 [复制链接]
小执念 古黑浩劫论坛大牛 2022-9-11 19:12 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
nginx 加 php-fpm 使用的时候,访问静态文件没问题,访问php文件出现

1. File not found. 或者
2.No input file specified.

👃🚠🥛♻🐂‎第一个问题,除了网上讲到的文件权限和 nginx 转发php请求里面设置的:
  1. fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
复制代码


还有一个他们互相复制抄袭文章不会说的,那就是 Linux 的 Selinux机制,

👍💈🍏➡🦟‎SELinux 的工作原理
引用

SELinux 定义了每个人对系统上的应用、进程和文件的访问权限。它利用安全策略(一组告知 SELinux 哪些能访问,哪些不能访问的规则)来强制执行策略所允许的访问。

当应用或进程(称为主体)发出访问对象(如文件)的请求时,SELinux 会检查访问向量缓存(AVC),其中缓存有主体和对象的访问权限。
👨‍⚕️‏👒📟🤤🖕
如果 SELinux 无法根据缓存对权限做出访问决定,它会将请求发送到安全服务器。安全服务器随即检查应用或进程和文件的安全环境,确认其是否匹配 SELinux 策略数据库的安全环境。之后便根据检查授予权限或拒绝。


这个功能主要就是进行更加严格的文件权限控制,具体我自己也说不明白。

SELinux 有三个运行状态,分别是:

🤝🏫🥛🅾🐤‏Disable: 禁用SELinux,不会给任何新资源打Label,如果重新启用的话,将会给资源重新打上Lable,过程会比较缓慢。
Permissive:如果违反安全策略,并不会真正的执行拒绝操作,替代的方式是记录一条log信息。
Enforcing: 默认模式,SELinux的正常状态,会实际禁用违反策略的操作

反正出现问题,第一时间要去看一下selinux 有没有开启:🧑‍🚀‌🩴📬🤪🙌

  1. getenforce
复制代码

如果为开启状态,那就编辑配置文件把他关闭了:
  1. /etc/selinux/config
复制代码

👦‎👗🛋😘💪


把文件里面的 SELINUX=enforcing 改为 SELINUX=disabled ,然后重启服务器。

-------------

第二个问题,看看 php.ini 里面是不是设置了 open_basedir🧒‏👜💿😆🙌

这个是 php.ini 中的一个配置选项,它可将用户访问文件的活动范围限制在指定的区域,如果要设置,请设置为你网站程序实际的目录,不能多或者少。

上一篇
下一篇
帖子热度 1403 ℃

御阪晨璐 「初入古黑」 2022-9-11 19:12 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

我就是路过来看看的。。。
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表