Centos vm上Symfony的权限问题

时间:2014-12-08 21:51:44

标签: php apache symfony permissions

晚上好。 我以为我不会问这个问题......但我不知道在哪里看。

这是问题所在。

我在运行于hyper v。

的全新Centos 7 vm上安装了Symfony

我的apache用户是apache。 我的app / cache和app / logs目录由apache用户和apache组拥有。 我甚至将这两个文件夹和子文件夹的权限设置为777。

但Symfony仍然无法写入缓存或日志。

这怎么可能?我很想对这个问题有一些指示。

由于

5 个答案:

答案 0 :(得分:2)

尝试禁用selinux:[https://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable.html][1]。这解决了我的问题。

1-打开/ etc / sysconfig / selinux并将SELINUX的值从允许(或强制执行)修改为禁用

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

2-重新启动计算机并进行测试。

答案 1 :(得分:1)

它不是真正的解决方案,而是更多的解决方法。 我已经用ubuntu替换了centos vm,现在一切运行顺利,只是确保文件夹归apache用户所有。 这对我来说真的很神秘。我意识到我以前从未在centos上部署过symfony应用程序。我确信应该有一个解释,但显然不容易找到。

感谢大家的帮助。

答案 2 :(得分:1)

在CentOS中,您必须以root用户身份登录并写以下内容:

sudo chcon -t httpd_sys_rw_content_t .../cache -R
sudo chcon -t httpd_sys_rw_content_t .../logs -R

答案 3 :(得分:0)

查看http://symfony.com/doc/current/book/installation.html

中的“设置权限”部分

答案 4 :(得分:0)

对我来说,这是设置权限的最佳方式:

http://symfony.es/documentacion/como-solucionar-el-problema-de-los-permisos-de-symfony2/

永远为我工作。

这个链接是西班牙语,但我确信你可以理解这些命令(如果不是说西班牙语)。