我在Ubuntu 11.10上安装了Symfony 2.0.7.我有这个问题:
我使用以下命令更改了cache
e logs
目录的权限:
chmod 777 -R cache chmod 777 -R logs
以及我期待的所有功能.
然后我做了:
app/console cache:clear
使用debug true清除dev环境的缓存
cache/dev的权限更改为755,symfony无法写入:
RuntimeException:无法写入缓存文件"/var/www/myapp/app/cache/dev/classes.php".
在/var/www/myapp/app/bootstrap.php.cache第1079行,ClassCollectionLoader :: writeCacheFile()在/var/www/myapp/app/bootstrap.php.cache第1017行,在ClassCollectionLoader :: load()中/在/var/www/myapp/web/app_dev.php第23行的内核 - > loadClassCache()中的var/www/myapp/app/bootstrap.php.cache第682行
如何在Symfony 2中解决这个明显的错误?
请参阅" 配置和设置"部分中的" 设置权限"旁注.使用ACL方法.setfacl
例如
sudo setfacl -R -m u:apache:rwX -m u:`whoami`:rwX app/cache app/logs sudo setfacl -dR -m u:apache:rwX -m u:`whoami`:rwX app/cache app/logs
(apache
你的HTTPD用户在哪里)
好吧,我正在使用setfacl
以避免这些问题,但我仍然遇到问题.
我正在处理标准用户目录,所以这对我不起作用:
APACHEUSER=`ps aux | grep -E '[a]pache|[h]ttpd' | grep -v root | head -1 | cut -d\ -f1` sudo setfacl -R -m u:$APACHEUSER:rwX -m u:`whoami`:rwX app/cache app/logs sudo setfacl -dR -m u:$APACHEUSER:rwX -m u:`whoami`:rwX app/cache app/logs
如果你也这样做:(作为特权用户,当然有必要)
sudo rm -rf app/cache app/logs
然后,当NORMAL用户创建两个目录,然后将以下命令应用为NORMAL用户(不带sudo):
exit (from root if necessary) mkdir app/cache app/logs APACHEUSER=`ps aux | grep -E '[a]pache|[h]ttpd' | grep -v root | head -1 | cut -d\ -f1` setfacl -R -m u:$APACHEUSER:rwX -m u:`whoami`:rwX app/cache app/logs setfacl -dR -m u:$APACHEUSER:rwX -m u:`whoami`:rwX app/cache app/logs
注意:请记住,-d\
和之间有两个空格-f1
祝好运!