На время забудьте элемент kubernetes, как я повторно развернули без каких-либо конфигураций/секретов и просто пытаюсь вручную установить переменные env и посмотреть, работает ли это.
Вот что происходит до сих пор:
1. РАЗВЕРНУТЬ ПРИЛОЖЕНИЕ БЕЗ КОНФИГУРАЦИИ/СЕКРЕТОВ K8S И ФАЙЛА .ENV
- Ожидается: ошибка 404 из-за отсутствия файла .env.
- Факт: ошибка 404 из-за отсутствия файла .env
- Ожидается: сообщение об ошибке об отсутствии app_key
- Факт: ошибка сообщение об отсутствии app_key
- Ожидается: без изменений
- Факт: без изменений
- Ожидается: ""
- Факт: ""
- Ожидается: "TEST"
- Факт: «ТЕСТ»
(Подтверждено: Laravel получает переменную env с сервера)
- Ожидается: ""
- Факт: ""
< /ul>
1.5. УДАЛИТЬ ПУСТОЙ APP_KEY= ИЗ .ENV И ДОБАВИТЬ ПЕРЕМЕННУЮ ENV НА СЕРВЕР. - Ожидается: "base64:ePh21Fg+NhX0y9Y7AHZnGn/Vkb8KSMnprJC0Ac/eVZs="
- Фактическое: "base64:ePh21Fg+NhX0y9Y7AHZnGn/Vkb8KSMnprJC0Ac/eVZs="(Подтверждено, что переменная env загружается с сервера)
- Ожидается: сайт работает
- Факт: появляется сообщение об ошибке об отсутствии app_key
- Ожидается: сайт работает
- Факт: появляется сообщение об отсутствующем app_key
- Трассировка ошибки: [2024-05-20 15:09:55] local.ОШИБКА: не указан ключ шифрования приложения. {"Exception":"[объект] (Illuminate\Encryption\MissingAppKeyException(код: 0): ключ шифрования приложения не указан. В /var/www/site/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider .php:101)
Код: Выделить всё
base64:XiH8Gd/5kXZfuqht5aptAjlkNshf4QzwvjGQ8GhbTWg=- Ожидается: сайт работает
- Актуально: Сайт работает
- Ожидается: «base64:XiH8Gd/5kXZfuqht5aptAjlkNshf4QzwvjGQ8GhbTWg=" — значение из файла .env
- Фактическое: "base64:ePh21Fg+NhX0y9Y7AHZnGn/Vkb8KSMnprJC0Ac/eVZs=" – значение, которое мы установили при экспорте.
Это означает, что я не могу загрузить значение через переменную среды, а вместо этого должен специально записать его в файл .env.
Это не конкретный APP_KEY. проблема, поскольку я только что заметил, что то же самое происходит и с APP_NAME. Если я установлю его в файл .env, он найдет его правильно и установит в качестве заголовка вкладки браузера. Однако, если вместо этого я установлю его через переменную env на сервере, по умолчанию будет установлено значение «Laravel», несмотря на то, что мастер подберет значение «TEST».
Я делаю здесь что-то явно неправильное? Я совершенно не понимаю, как Laravel загружает переменные среды? Я просмотрел несколько руководств по тому, как сделать это с помощью секретов/конфигурационных карт Kubernetes, и все они загружают их в переменные среды, например, вместо записи файла .env.
Я очистил конфигурация и приложение также кэшируются несколько раз.
Larvel Framework 8.83.27
PHP 8.1.28
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/785 ... t-variable
Мобильная версия