[英]php+nginx+vagrant - php fails to write
我有一個運行我的開發人員代碼的無聊的盒子安裝程序,這是一個nginx / php安裝程序。 (有關vagrant的快速信息-其virtualbox包裝器: http ://www.vagrantup.com/)。
在vagrant / virtualbox設置中,它使用linux guest虛擬機添加功能在我的主機(MAC OSX)上安裝共享文件夾。
linux guest path: /var/www/local
OSX host path: ~/src/
在很多情況下,我發現php似乎無法通過任何命令( file_put_contents
, fwrite
..等)將任何內容file_put_contents
安裝的共享文件夾上的任何路徑位置,但是它可以在/var/www/local
之外進行寫入/var/www/local
(例如/var/www/not-mounted/..
)。
我發現使用它非常困難,因為我使用的是緩存系統,並且一直無法將任何緩存javascript / css文件寫入我需要的(/var/www/local/public/root/cache/)
放在我網站的根文件夾中( /var/www/local/public/root/index.php
)。
我對此主題進行了大量研究:看來,文件夾安裝具有正確的權限:在linux guest虛擬機中鍵入mount
命令時,我得到了以下信息:
/var/www/local on /var/www/local/ type vboxsf (uid=1000,gid=1000,rw)
澄清:
這種情況一直發生,這是我遇到的已知問題,我嘗試解決。
從cat /etc/passwd
:
vagrant:x:1000:1000:vagrant,,,:/home/vagrant:/bin/bash
誰可以幫我這個事?
我已經解決了問題。
我忘記給PHP正確的用戶權限和寫入該文件夾的權限。 基本上,我的PHP用戶/用戶組是www-data / www-data,但是,vagrant有其自己的用戶/組(vagrant / vagrant),該用戶/組安裝了文件夾/ local /。
由於我不想弄亂我無所事事的安裝行為,因此我只是簡單地更改了php配置,以使用用戶/組-無業游民/無業游民來啟動PHP。
這為我解決了這個問題。
謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.