繁体   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