微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 流氓和symfony2

我有一种与流浪儿环境中安装Symfony2有关的bizzare问题.环境设置正确,正在运行一个Web服务器,该服务器正在从与vagrant基本目录中的流动环境共享的文件夹中提供文件.

基本上,vagrant在目录foo中启动,然后在foo中,有一个名为webroot的目录. Vagrant自动共享foo目录. apache服务器设置为运行,以便webroot是基本的http目录.这一切工作正常,我能够提供基本的HTML,PHPMysqL连接被测试是好的.

我用作曲者安装vagrant推荐的方法,进入目录里面/ webroot /叫做Symfony.所有文件现在存在于正确的目录中.配置是正确的,没有Symfony声明的项目需要在/config.PHP中更改.

当我尝试加载/app_dev.PHP时出现问题.它抛出一个异常,声称它不能在/ app目录中创建一个名为cache的文件.

由于chmod a在我使用的vagrant框中不支持,所以我选择通过在app_dev中取消注释umask(0000)来设置权限.假设这是一个权限问题,我尝试使用chmod来调整在vagrant环境和osx到777之间的所有权限.

奇怪的是,当我在漫游环境中chmod一个文件或目录时,它声称正确设置777,但是当我ls -l时,权限没有改变.但是,当我从OUTSIDE中chmod一个文件或目录webroot文件夹中的vagrant环境时,权限将保持不变.由于symfony在环境中没有r / w权限,因此无法创建必要的缓存和日志文件.当我从osx的命令运行symfony时,一切都正常.

有没有人有关于如何更改/ webroot目录的权限的任何见解,所以在流动环境中的事情实际上可以读取和写入它,因为chmod似乎不起作用?

Update as of 15th Jan 2016. Instructions for Vagrant 1.7.4+ and Symfony 3. This works.

在新的Ubuntu 14.04安装中,ACL已经安装,但是我无法使用或setfacl来修复权限问题,当然,一旦更改了vagrant终端中的任何权限,它们将重新设置为vagrant:vagrant again .

我将以下内容添加到我的流氓文件中:

# Symfony needs to be able to write to it's cache,logs and sessions directory in var/
config.vm.synced_folder "./var","/vagrant/var",:owner => 'vagrant',:group => 'www-data',:mount_options => ["dmode=775","fmode=666"]

这告诉Vagrant同步var / logs和var / cache(不要与/ var /混淆,这些在根Symfony目录中),并由vagrant:www-data拥有.这与做一个sudo chown vagrant一​​样:www-data var /,除了Vagrant现在为您执行,并强制执行,而不是强制流氓:vagrant.

请注意,这里没有777“黑客”.

一旦我补充说,我没有得到更多的权限错误在apache日志,我有一个很好的Symfony欢迎屏幕.希望能帮助别人!

原文地址:https://www.jb51.cc/php/138198.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐