本质上我发现您可以使用 php 的 basedir/open_basedir 来限制每个用户可以访问的文件夹。
我想让每个 php 只访问自己的文件。所以我写了
fastcgi_param open_basedir $document_root;
希望它能起作用。但没用。我在 Google 上搜索,只找到无法通过 fastcgi 或 nginx 执行此操作的结果。
这是真的吗或者我不能这样做?
PS:我确实会以自己的用户身份(而不是 www-data)生成 php,这样它就不会对我的非 php 网站造成破坏。但我仍然想阻止 php 网站上的一个 php 脚本访问其他目录(如果我在 yourface.com 上安装了 wordpress,很明显有效的 php 路径是/var/www/yourface/<wordpress scripts>
答案1
在较新版本的 php 中,可以通过 fastcgi 设置 ini 值。请参阅https://stackoverflow.com/questions/1215120/set-php-include-path-from-nginx了解详情。