我使用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