Скрипт под root превратил кэш в чужой — сайт начал отдавать пустые страницы
Пять страниц каталога разом опустели. Причина была не в базе и не в шаблоне, а в том, под каким пользователем запускался скрипт.
Пустая страница — это худший вид поломки: ошибки нет, лог чистый, а товары исчезли. И именно поэтому тут легко начать искать не там.
Как выглядело
Сразу пять страниц каталога отдали пустой список товаров. Остальной сайт работал. База отвечала, шаблон на месте, товары в базе есть.
Причина
Скрипт деплоя я запустил под root. Он успешно пересобрал кэш — и файлы кэша стали принадлежать root. После этого PHP-FPM, который работает под своим пользователем, больше не может их перезаписать: он не падает с ошибкой, а просто отдаёт то, что осталось. Отсюда пустые страницы.
# кто владелец свежих файлов кэша $ find core/cache -newermt '-30 min' ! -user politika … файлы от root # лечение: пересобрать кэш под тем же пользователем, что и сайт $ sudo -u politika php -r '...обновление кэша...'
Что теперь делаю всегда
Читайте дальше
Правка есть в базе, а страница отдаёт старое: кэш кода сниппетов
Страница уехала вбок на 48 пикселей: min-width:auto в grid
Новые замеры
Письмо, когда выходит новый замер или разбор поломки. Без рассылок «о нас» и без продаж.