Laravel & PHP Deep — фреймворки и пакеты

Octane ускоряет Laravel, но ломает привычки, которые держат код безопасным

Octane ускоряет Laravel, но ломает привычки, которые держат код безопасным

Octane оставляет воркер живым между запросами, поэтому в памяти могут жить не только контейнер и конфиг, но и ваши “удобные” статические кэши, одиночки и замкнутые на состояние сервисы. Для обычного PHP это мелочь, для долгоживущего воркера — источник фантомных багов.

Проверьте три вещи: — не храните request-specific данные в singleton; — не мутируйте глобальные фасады и статические свойства; — не рассчитывайте, что service provider или boot-логика отработают “с нуля” на каждый запрос. Если внутри кода есть кеш на уровне объекта, его надо сбрасывать явно, а не надеяться на сборщик мусора.

Отдельный риск — сторонние пакеты. Любой SDK, который держит авторизацию, текущего пользователя, tenant или контекст очереди внутри объекта, под Octane может отдать чужие данные в следующий запрос. Такие зависимости лучше создавать на запрос, а не тащить как вечный singleton. Это особенно заметно в CRM, трекерах и админках с активной персонализацией.

Ещё один фильтр — тест на повторный запрос в одном процессе. Если после двух последовательных вызовов ответ меняется без явной причины, у вас утечка состояния. Под Octane выигрывает не тот код, что “просто быстрый”, а тот, что одинаково чисто живёт в первом и в тысячном запросе.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.