2.1 KiB
2.1 KiB
Testing & Debugging
Запуск воркера локально
frankenphp run --config Caddyfile
Убедись, что переменные окружения заданы (.env или environment.php).
Отладка запросов
Включи подробное логирование через конфиг:
Config::get('log.level') // DEBUG для максимального вывода
Логи пишутся через LoggerInterface (Monolog). Смотри architecture/logging.md для деталей.
Частые проблемы
Воркер не стартует
- Проверь синтаксис
Caddyfileи путь доworker.php - FrankenPHP требует
FRANKENPHP_CONFIGили явного указания воркер-скрипта - Проверь, что
Kernel::init()вызван до первого запроса
Маршрут не найден (404)
- Убедись, что файл с
RouteDefinitionлежит вroutes/(autoload подхватывает автоматически) - Проверь HTTP-метод и путь: параметры вида
{id}чувствительны к паттерну
JWT не валидируется
- Проверь, что
Config::get('auth.secret')не пустой - Убедись, что
AuthMiddlewareзарегистрирован в контейнере - Время жизни токена —
Config::get('auth.ttl')
Ошибка CORS
CorsMiddlewareтребует явного конфига (список разрешённых origins)- Если конфиг не задан — бросается
RuntimeExceptionпри старте
MongoDB не подключается
- Проверь DSN в конфиге:
Config::get('mongodb.dsn') - Проверь, что MongoDB-сервис запущен и доступен из воркера
Инспекция контейнера
// В dev-режиме: посмотреть все зарегистрированные сервисы
$ids = Kernel::getContainer()->getServiceIds();