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

ron*_*ana 7 php permissions shell vagrant

我正在使用vagrant来运行我的vm使用ubuntu,apache等.这在我的OSX主机上运行.

一切正常,直到我的php应用程序尝试创建文件夹,该文件夹中的文件等.我得到Permission denied.我在流浪文件的配置/配置上缺少什么?

Nan*_*usa 21

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

解决方案是:

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

    User vagrant
    Group vagrant
    
    Run Code Online (Sandbox Code Playgroud)
  4. 运行sudo service apache2 restart;

它不可能将/ vagrant目录所有者更改为www-data(apache用户);

无论如何,它对我有用.


dla*_*kov 5

编辑 Vagrantfile

  config.vm.synced_folder "./", "/var/www", owner: "www-data", group: "www-data"
Run Code Online (Sandbox Code Playgroud)


Mat*_*per 2

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

sudo chown www-data:www-data <dirname>
Run Code Online (Sandbox Code Playgroud)

这应该有效......如果有效,那么只需将其添加到您正在使用的配置程序中即可。

  • 乔纳森,把这个作为答案会很方便 (3认同)