PHP 仅限于文档根目录,而不是文件系统根目录

PHP restricted to document root, not file system root

我正在尝试通过 php 更改位于 /etc/nginx 目录中的文本文件。我正在使用 fopen() 来执行此操作,但是,我无法访问网站根文件夹之外的任何目录。

例如,我将我的网站存储在绝对路径中:/webroot/mywebsite/,如果我试图读取该文件夹之外的任何内容,例如 /etc/nginx,fopen() 就会死掉。

当我回显 realpath("index.php") 时 returns "/webroot/mywebsite/index.php"

这就是我确认我是否可以访问我的根目录的方式,但它并没有改变。我不知道我还能尝试什么。我的旧 Debian 安装让我只使用绝对路径。这是我新安装的 Arch,这是我第一次遇到这种情况。我怀疑这可能是权限问题,但我不想修改我的整个 OS 根目录。还有其他建议吗?谢谢

嗯。我很惊讶我在谷歌搜索了 4 个小时后却找不到这个答案,但它就在这里。希望我能为别人省去麻烦。

问题位于此处:/lib/systemd/system/php-fpm.service

找到行 "ProtectSystem=full" 并将其设置为 "false"。 Ta-da,我现在到处都可以访问了。