RuntimeException in ClassCollectionLoader.php line 239:
Failed to write cache file "/var/www/fareast/app/cache/dev/classes.php".
我在symfony2中运行项目时遇到此错误。 我有nginx作为我的web服务器,centOS 7作为我的操作系统。 我尝试通过
手动删除缓存文件夹php app/console cache:clear
然后我对app / cache和app / logs
进行了不好的练习chmod -R 777
但我有同样的错误。 /var/log/nginx/error.log也是空的。 你推荐其他解决方案吗? 或者我是否必须为缓存安装一些php5库?
答案 0 :(得分:5)
设置777权限不执行任何操作,因为当webserver用户向其写入文件夹时,文件夹属于此用户,并且您作为命令行用户无法访问它们,反之亦然。以正确的方式设置权限:http://symfony.com/doc/current/book/installation.html#book-installation-permissions
答案 1 :(得分:0)
在symfony3中,我遇到了同样的问题......
因此,问题不会只解决使用“缓存清除”
您必须更改项目中缓存文件夹的(R / W)权限
For ex: "projectname/var/cache"
现在刷新......
如果仍有问题,请更改项目中日志文件夹的(R / W)权限
For ex: "projectname/var/logs"
答案 2 :(得分:-1)
您必须使用以下脚本来确定您的Web服务器用户并授予所需的权限:
rm -rf var/cache/*
rm -rf var/logs/*
HTTPDUSER = `ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
sudo chmod -R +a "$HTTPDUSER allow delete,write,append,file_inherit,directory_inherit" var
sudo chmod -R +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" var