我开发了一个基于 Symfony 3.4 的网站,并使用 Webpack Encore 来管理资产。当我部署上一个版本时,没有找到 CSS/JS 资产:
当我检查网页的源代码时,我看到 URL 指向旧版本的资产,就像/build/app.db32012d.css
文件manifest.json
引用新版本的资产一样:
{ "build/app.css": "/build/app.2aba4862.css" }
我使用部署程序来部署新版本。部署过程构建资产运行yarn encore prod
。
首先,我尝试预热/清除 Symfony 缓存,但仍然卡住了。
当我在开发环境(调用app_dev.php
)中浏览站点时,问题消失了。
我试图重新启动 Apache 但仍然卡住了。
我DocumentRoot
将 VirtualHost 的从更改/var/www/current/web
为/var/www/foo/web
并且问题消失,直到下一个版本。
这是我的堆栈:
阿帕奇 2.4
php7.3.6-fpm
启用 OPCache
启用 HTTP2
我希望资产 URL 指向manifest.json
文件中指定的新版本。
我怀疑某处存在缓存问题,但我找不到。
莫回无