Я разработал веб-сайт на основе Symfony 3.4 и использую Webpack Encore для управления активами. Когда я развернул последний выпуск, ресурсы CSS / JS не были найдены:
Когда я проверил исходный код веб-страницы, я увидел, что URL-адреса указывают на старые версии ресурсов, например /build/app.db32012d.css
, а файл manifest.json
ссылается на новые версии ресурсов:
{
"build/app.css": "/build/app.2aba4862.css"
}
Я использую deployer для развертывания новых выпусков. В процессе развертывания создаются активы, работающие yarn encore prod
.
Прежде всего, я попытался прогреть / очистить кэш Symfony, но все еще завис.
Когда я просматриваю сайт в среде разработчика (звонит app_dev.php
), проблема исчезает.
Я пытался перезапустить Apache, но все еще завис.
Я изменил DocumentRoot
VirtualHost с /var/www/current/web
на /var/www/foo/web
, и проблема исчезнет до следующего выпуска.
Вот мой стек:
- Apache 2.4
- php7.3.6-FPM
- OPCache включен
- HTTP2 включен
Я ожидаю, что URL-адреса ресурсов будут указывать на новые версии, как указано в файле manifest.json
.
Я подозреваю, что где-то есть проблема с кешем, но не могу найти где.