对mkdir()的Vagrant vm + apache权限被拒绝

时间:2013-05-16 11:47:30

标签: php shell permissions vagrant

我正在使用vagrant来运行我的虚拟机,使用ubuntu,apache等。 这是在我的OSX主机上运行的。

一切正常,直到我的php应用程序尝试创建文件夹,该文件夹中的文件等。 我被拒绝了。 我对流浪文件的配置/配置缺少什么?

3 个答案:

答案 0 :(得分:21)

在这种情况下,如果您使用的是Vagrant + Apache2。

解决方案是:

  1. 编辑/etc/apache2/apache2.conf;
  2. 搜索用户指令
  3. 将这些行更改为:

    User vagrant
    Group vagrant
    
  4. 运行sudo service apache2 restart

  5. 无法将/ vagrant目录所有者更改为www-data(apache用户);

    无论如何,它对我有用。

答案 1 :(得分:4)

编辑Vagrantfile

  config.vm.synced_folder "./", "/var/www", owner: "www-data", group: "www-data"

答案 2 :(得分:2)

您需要将php尝试写入的文件夹的所有者设置为apache用户,通常是www-data ... ssh进入vagrant框并尝试:

sudo chown www-data:www-data <dirname>

这应该有用......如果确实如此,那就把它添加到你正在使用的配置器中。