晚上好。 我以为我不会问这个问题......但我不知道在哪里看。
这是问题所在。
我在运行于hyper v。
的全新Centos 7 vm上安装了Symfony我的apache用户是apache。 我的app / cache和app / logs目录由apache用户和apache组拥有。 我甚至将这两个文件夹和子文件夹的权限设置为777。
但Symfony仍然无法写入缓存或日志。
这怎么可能?我很想对这个问题有一些指示。
由于
答案 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)
答案 4 :(得分:0)
对我来说,这是设置权限的最佳方式:
http://symfony.es/documentacion/como-solucionar-el-problema-de-los-permisos-de-symfony2/
永远为我工作。
这个链接是西班牙语,但我确信你可以理解这些命令(如果不是说西班牙语)。