К содержимому

10 материалов

Грабли

Симптом, причина, решение. Короткие заметки о том, на чём наступил.

Четырнадцать бэкапов на той же машине, что и данные

Бэкапы есть, расписание работает, копии лежат в каталоге рядом с данными.

Ротация настроена, копии снимаются по расписанию, восстановление проверено. И всё это исчезнет одним движением вместе с виртуалкой.

docker compose restart не перечитывает .env

Значение в .env изменено, docker compose restart прошёл, приложение видит старое.

Поменяли переменную, перезапустили контейнер — работает по-старому. Restart не пересоздаёт контейнер, а переменные окружения задаются только при создании.

npm из портативного Node падает с MODULE_NOT_FOUND

npm -v → Error: Cannot find module '...\node_modules\npm\bin\npm-cli.js'

Дистрибутив Node распакован без node_modules: обёртки npm и npx на месте, кода за ними нет. Лечится за минуту, ищется полчаса.

Правка PHP не видна на сервере, и дело не в opcache

Файл изменён, страница отдаёт старое. Сброс opcache не помогает.

Первое подозрение всегда падает на кэш байткода. В половине случаев виноват владелец файла, и лечится это не перезапуском.

Sandbox-ключ в production отвергается намеренно, а выглядит как поломка

Те же ключи: в тесте авторизация проходит, на стенде с APP_ENV=production — отвергается.

Интеграция авторизуется в тесте и не авторизуется на стенде с production-настройкой. Это не баг конфигурации, а защита, которая работает как задумано.

События телефонии приходят не в том порядке, в каком случились

В карточке звонок «завершён», потом снова «идёт». Длительность отрицательная.

Звонок завершился раньше, чем начался. Вебхуки идут параллельно и обгоняют друг друга, а состояние в CRM собирается по последнему пришедшему.

Три часовых пояса в одном звонке

Звонок в отчёте на несколько часов раньше или позже, чем был на самом деле.

Провайдер отдаёт UTC, сервер живёт в своём поясе, клиент смотрит из третьего. Сходится это только если хранить одно, а конвертировать на выводе.

VM не стартует из официального образа: он UEFI, а машина на SeaBIOS

VM создана из официального образа, при старте — чёрный экран, no bootable device или UEFI Shell.

Готовый qcow2 от вендора загружается в пустоту или уходит в UEFI Shell. Причина не в образе и не в диске — в типе прошивки виртуальной машины.

CRM качает запись разговора без авторизации — и молча кладёт битый файл

Запись прикрепилась к звонку, но не воспроизводится или весит пару килобайт.

Ссылка на запись есть, файл прикрепился, слушать нечего. CRM ходит за файлом сама, своим клиентом, и токен провайдера ей никто не передал.