我使用vagrant来运行我的虚拟机使用Ubuntu,Apache等 这是在我的OSX主机上运行。流浪者vm + apache权限被拒绝mkdir()
一切工作正常,直到我的PHP应用程序试图创建一个文件夹,文件夹内的文件等。 我得到权限被拒绝。 我在流浪文件的提供/配置上缺少什么?
我使用vagrant来运行我的虚拟机使用Ubuntu,Apache等 这是在我的OSX主机上运行。流浪者vm + apache权限被拒绝mkdir()
一切工作正常,直到我的PHP应用程序试图创建一个文件夹,文件夹内的文件等。 我得到权限被拒绝。 我在流浪文件的提供/配置上缺少什么?
你需要设置PHP是试图写入该文件夹的所有者,以通常是www数据apache用户... SSH进入游民箱和尝试:
sudo chown www-data:www-data <dirname>
那应该工作......如果是这样,那么只需将其添加到您正在使用的配置文件中即可。
是的,另一种(但相似)的方法是运行Apache作为流浪用户。我已经成功完成了。 – Jonathan
乔纳森这将是方便有这个答案 –
在这种情况下,如果您使用的是Vagrant + Apache2。
解决办法是:
更改这些行:
User vagrant
Group vagrant
运行sudo apache2 restart
;
它不可能将/ vagrant目录所有者更改为www-data(apache用户);
无论如何,它适用于我。
这就是我所做的。我还需要更改会话数据文件夹中的组,以便PHP可以正确读/写会话数据(在CentOS上):'chown root:vagrant/var/lib/php/session'。我删除了该会话文件夹中的现有会话,并且在此之后一切正常。 – chris
这适用于我,在OSX 10.9.4与debian 7 VM –
哪个apache?主机上的虚拟机还是虚拟机? – AgmLauncher
编辑Vagrantfile
config.vm.synced_folder "./", "/var/www", owner: "www-data", group: "www-data"
您可以发布您Vagrantfile给我们看。我使用Vagrant for PHP开发,可能会帮助 – fullybaked