如果我的 Apache 在 VirtualBox 中运行,并且 DocumentRoot 是共享文件夹,则 file_exists() 和 mkdir($a, $b, true) 无法正常工作。为什么?

如果我的 Apache 在 VirtualBox 中运行,并且 DocumentRoot 是共享文件夹,则 file_exists() 和 mkdir($a, $b, true) 无法正常工作。为什么?

我有一台装有托管 VirtualBox(Ubuntu)的 Windows7 PC。VirtualBox 上有一个 Apache2。它与 Windows7 主机共享。因此,如果我使用 ls -l,我会看到内容归 root:vboxsf 所有。

如果我将 VirtualBox 切换到 Apache 用户“www-data”(sudo su www-data),则无法使用 mkdir -p /newfolder/newsubfolder

以下命令可行 mkdir /newfolder mkdir /newfolder/newsubfolder

如果我运行 PHP 脚本,如果第三个参数为 true mkdir("/newfolder/newsubfolder", 0774, true); 我也会遇到 mkdir() 问题。

如果我将 PHP 脚本与 file_exists() 一起使用,也会遇到问题。结果始终为 true。

我该如何配置共享文件夹?

答案1

如果我添加某些内容,例如 mount -t vboxfs htdocs /var/www -o uid=www-data,gid=www-data 到 /etc/rc.local,它就会起作用

htdocs 是 VirtualBox 中共享的名称。

相关内容