Octane ускоряет Laravel, но ломает привычки, которые держат код безопасным
Octane оставляет воркер живым между запросами, поэтому в памяти могут жить не только контейнер и конфиг, но и ваши “удобные” статические кэши, одиночки и замкнутые на состояние сервисы. Для обычного PHP это мелочь, для долгоживущего воркера — источник фантомных багов.
Проверьте три вещи: — не храните request-specific данные в singleton; — не мутируйте глобальные фасады и статические свойства; — не рассчитывайте, что service provider или boot-логика отработают “с нуля” на каждый запрос. Если внутри кода есть кеш на уровне объекта, его надо сбрасывать явно, а не надеяться на сборщик мусора.
Отдельный риск — сторонние пакеты. Любой SDK, который держит авторизацию, текущего пользователя, tenant или контекст очереди внутри объекта, под Octane может отдать чужие данные в следующий запрос. Такие зависимости лучше создавать на запрос, а не тащить как вечный singleton. Это особенно заметно в CRM, трекерах и админках с активной персонализацией.
Ещё один фильтр — тест на повторный запрос в одном процессе. Если после двух последовательных вызовов ответ меняется без явной причины, у вас утечка состояния. Под Octane выигрывает не тот код, что “просто быстрый”, а тот, что одинаково чисто живёт в первом и в тысячном запросе.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Octane ускоряет Laravel, но ломает привычки, которые держат код безопасным
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.