当我尝试在Docker swarm节点中部署symfony时出现此错误
Kernel.php第338行中的ContextErrorException:
警告:file_put_contents(/home/backend_microservice/private_webapp/var/cache/dev/classes.map):无法打开流:没有这样的文件或目录
我尝试手动删除缓存,我删除了供应商目录,并使用composer生成了一个新目录,但仍然会出现同样的错误。
相同的配置仅适用于docker引擎,但在群集模式下不起作用。
操作系统:CentOS 7.3
虚拟化:Docker版本17.06.0-ce,build 02c1d87 Swarm模式
Symfony:3.2.9
任何帮助或建议? 提前谢谢你。
答案 0 :(得分:0)
好的,我设法生成了缓存。即使我将权限更改为777,我也无法写入缓存目录。所以,我只是从docker启动脚本中删除以下行 - 这是symfony doc推荐的:-(:
HTTPDUSER = ps axo user,comm | grep -E'[a] pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx'| grep -v root |头-1 |切-d \ -f1 &安培;&安培; setfacl -R -m u:“$ HTTPDUSER”:rwX -m u:whoami:rwX var &安培;&安培; setfacl -dR -m u:“$ HTTPDUSER”:rwX -m u:whoami:rwX var