簡體   English   中英

php + nginx + vagrant-php無法寫入

[英]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_contentsfwrite ..等)將任何內容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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM