我有一個bizzare問題涉及從流浪環境中安裝Symfony2。環境設置正確,正在運行一個Web服務器,該服務器通過與位於vagrant基本目錄中的流浪環境共享的文件夾提供文件。流浪和symfony2
基本上,vagrant是在foo目錄中啓動的,然後在foo中有一個名爲webroot的目錄。 Vagrant自動共享foo目錄。 apache服務器設置爲運行,以便webroot是基本的http目錄。這一切工作正常,我能夠提供基本的HTML,PHP和MySQL連接測試無誤。
我用composer將vagrant推薦的方式安裝到/ webroot /名爲Symfony的目錄中。所有文件現在存在於正確的目錄中。配置是正確的,Symfony聲明中沒有需要在/config.php中更改的項目。
當我嘗試加載/app_dev.php時出現問題。它會拋出一個異常,聲明它不能在/ app目錄中創建一個名爲cache的文件。
由於chmod + a在我使用的流浪盒中不受支持,我選擇通過在app_dev中取消註釋umask(0000)來設置權限。假設這是一個權限問題,我嘗試使用chmod將流浪環境和osx內的權限都調整爲777。
奇怪的是,當我在流浪環境中chmod文件或目錄時,它聲稱正確設置了777,但是當我ls -l時,權限並沒有改變。但是,當我從外部chmod文件或目錄在webroot文件夾內的流浪環境,權限仍然存在。由於symfony在環境中沒有r/w權限,因此無法創建必要的緩存和日誌文件。當我從osx的命令運行symfony時,一切正常。
有沒有人有任何有關如何更改/ webroot目錄的權限,以便流浪環境中的內容可以實際讀取和寫入,因爲chmod似乎不起作用?
這這麼想的其他工作。即使命令成功執行,即使超級用戶立即恢復並且權限/所有權不會改變,也可以在流浪環境中進行Chmod或Chowning。深入瞭解如何獲取Chmod或Chown命令。 –
想通了!問題在於fmode和dmode設置不正確,因爲vagrant文件夾被掛載在vboxsf上。我只是在我的流浪文件中加入了'config.vm.synced_folder「../gipsydanger/」,「/ vagrant」,:extra =>'dmode = 777,fmode = 777''這一行。不管怎麼說,還是要謝謝你! –
我已經採取了一些這個答案略有增強,並使其成爲一個隨時可用的供應模塊,特別是與Symfony2一起使用。發佈於[Github](https://github.com/Lukx/vagrant-lamp) – Lukx