Symfony Служба uri_signer зависит от несуществующего параметра kernel.secret

Если вы застряли со следующим исключением в вашем проекте Symfony:

Фатальная ошибка: Uncaught исключения 'Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException' with message ‘Служба «uri_signer» зависит от несуществующего параметра «kernel.secret». Вы имели в виду это: «kernel.charset»?

В этой статье вы узнаете, как решить эту проблему в этой статье легко.

Решение

Ошибка просто предупреждает об отсутствии секретного параметра в некоторых используемых файлах конфигурации YAML. Эта проблема, в основном, возникает, когда вы работаете так, как вам нужно: либо изменить, работать с несколькими индексными файлами приложения в вашем проекте, либо изменить файлы конфигурации YAML. Эта ошибка часто возникает при реализации пакетов, которые требуют изменения таких файлов, как MobileDetectBundle.

Чтобы решить эту проблему, первое, что вам нужно сделать, это проверить ваш config.yml или пользовательский файл конфигурации YAML и импортируйте parameters.yml файл:

imports:
- { resource: parameters.yml }

Внутри parameters.yml (вы простите повторение) параметр, идентифицируемый с секретом. Как вы, возможно, знаете (а может и нет), секрет — это строка, которая должна быть уникальной для вашего приложения и обычно используется для добавления энтропии к операциям, связанным с безопасностью. Его значение должно быть последовательностью символов, цифр и символов, выбранных случайным образом, и рекомендуемая длина составляет около 32 символов. Помните, что это значение не может быть нулевым или пустым.

Затем, как только файл будет импортирован в ваш config.yml (или пользовательский файл конфигурации), перейдите к добавлению секретного свойства в области фреймворка следующим образом:

framework:
secret: "%secret%"

Наконец, не забудьте очистить кеш вашего проекта, удалив папку кеша вручную или запустив команду symfony php bin/console cache:clear --env=prod,

Ссылка на основную публикацию
Adblock
detector