无法写入cachingsymfony2

RuntimeException in ClassCollectionLoader.php line 239: Failed to write cache file "/var/www/fareast/app/cache/dev/classes.php". 

当我在symfony2中运行我的项目时,我有这个错误。 我有nginx作为我的networking服务器和centOS 7作为我的操作系统。 我试着手动删除caching文件夹

 php app/console cache:clear 

那么我做了一个不好的做法,以应用程序/caching和应用程序/日志

 chmod -R 777 

但我有同样的错误。 /var/log/nginx/error.log也是空的。 你推荐其他解决scheme吗? 或者我必须安装一些php5库caching?

设置777权限什么都不做,因为当web服务器用户写文件夹时,文件夹属于这个用户,而你作为命令行用户不能访问它们,反之亦然。 以正确的方式设置权限: http : //symfony.com/doc/current/book/installation.html#book-installation-permissions

在symfony3我面临同样的问题…

所以,问题不解决只使用“缓存清除”

您必须在您的项目中更改缓存文件夹的(R / W)权限

 For ex: "projectname/var/cache" 

现在刷新…

如果仍然有问题,请在您的项目中更改(R / W)日志文件夹的权限

 For ex: "projectname/var/logs" 

您必须使用以下脚本来确定您的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