我正在使用 vagrant 使用 ubuntu、apache 等运行我的 vm。这是在我的 OSX 主机上运行的。
一切正常,直到我的 php 应用程序尝试创建文件夹、该文件夹中的文件等。我被拒绝权限。我在 vagrant 文件的提供/配置中缺少什么?
我正在使用 vagrant 使用 ubuntu、apache 等运行我的 vm。这是在我的 OSX 主机上运行的。
一切正常,直到我的 php 应用程序尝试创建文件夹、该文件夹中的文件等。我被拒绝权限。我在 vagrant 文件的提供/配置中缺少什么?
在这种情况下,如果你使用 Vagrant + Apache2。
解决方案是:
将这些行更改为:
User vagrant
Group vagrant
跑sudo service apache2 restart
无法将 /vagrant 目录所有者更改为 www-data(apache 用户);
无论如何,它对我有用。
编辑 Vagrant 文件
config.vm.synced_folder "./", "/var/www", owner: "www-data", group: "www-data"
您需要将 php 尝试写入的文件夹的所有者设置为 apache 用户,该用户通常是 www-data... ssh 进入 vagrant 框并尝试:
sudo chown www-data:www-data <dirname>
那应该可以工作...如果可以,那么只需将其添加到您正在使用的任何配置程序中。