我有一个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