如何使用 fastcgi/nginx 设置 php 的 (open_)basedir?

如何使用 fastcgi/nginx 设置 php 的 (open_)basedir?

本质上我发现您可以使用 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了解详情。

相关内容