有什么方法可以绕过 php open_basedir 的符号链接吗?

Is there any way I can bypass symlinks from php open_basedir?

我在 Linux 中的 Apache 虚拟主机中配置了 open_basedir,工作正常。

<Directory /var/www/abc/public_html>
     php_admin_value open_basedir "/var/www/abc/public_html"
</Directory>

我需要允许位于指定 basedir (/var/www/abc/public_html/files --> ../files) 之外的单个符号链接。

有办法吗?

没有办法绕过open_basedir限制,不行。但是,您 可以 只包含指向 open_basedir 的附加符号链接路径,因为它可以接受不止一个路径。

open_basedir=/var/www/abc/public_html:/var/www/abc/files

All symbolic links are resolved, so it's not possible to avoid this restriction with a symlink.

PHP Manual: open_basedir

您必须牢记的是 open_basedir 允许给定路径中的所有内容。因此,这意味着一旦授予对路径 /var/www/abc/files 的访问权限,该路径中的所有内容,如 /var/www/abc/files/foo/var/www/abc/files/bar 等...也是允许的。