![如果我的 Apache 在 VirtualBox 中运行,并且 DocumentRoot 是共享文件夹,则 file_exists() 和 mkdir($a, $b, true) 无法正常工作。为什么?](https://linux22.com/image/1353795/%E5%A6%82%E6%9E%9C%E6%88%91%E7%9A%84%20Apache%20%E5%9C%A8%20VirtualBox%20%E4%B8%AD%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%B9%B6%E4%B8%94%20DocumentRoot%20%E6%98%AF%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E5%88%99%20file_exists()%20%E5%92%8C%20mkdir(%24a%2C%20%24b%2C%20true)%20%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我有一台装有托管 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 中共享的名称。