Ошибка: не указан ключ шифрования приложения. Но это существует

У меня есть приложение Laravel, которое работает хорошо, но всякий раз, когда я просматриваю файл журнала, появляются сотни ошибок.

production.ERROR: No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified.

существуют в файле журнала. В файле .env есть ключ, и я также попробовал команду php artisan key:generate, но ошибка по-прежнему генерируется в файле журнала без каких-либо видимых ошибок для пользователей.

Эта ошибка появляется только в файле журнала рабочего сервера, а не на моем компьютере разработки.

вы можете показать значение APP_KEY= вашего env?

Kapitan Teemo 25.10.2018 11:25

APP_KEY = base64: g7Ta + C5qVWSkdni9 / OUsoBNA9GgE3ANrtOquE + JfQv0 =

Esmatullah Arifi 25.10.2018 11:56

@EsmatullahArifi, вы никогда не должны публично раскрывать ключ своего приложения.

Gustavo Straube 08.04.2021 16:25

@GustavoStraube Ничего страшного, его много раз меняли, прежде чем поделиться. Я поделился старым только для того, чтобы продемонстрировать, что у меня есть правильный ключ. Это не настоящий ключ.

Esmatullah Arifi 09.04.2021 19:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
4
10 471
9

Ответы 9

php artisan key:generate 

Это сгенерирует случайный ключ, вы должны перезапустить сервер, и вы больше не должны видеть сообщение об ошибке.

выполните следующие команды, чтобы очистить кеш.

php artisan config:clear
php artisan config:cache

Я уже сказал, что использовал эту команду, но без изменений в журнале ошибок. Я пробовал и последние две команды.

Esmatullah Arifi 25.10.2018 11:53

@EsmatullahArifi, пожалуйста, вы уверены, что у вас есть ключ в файле .env? удалить файл .env.example (если существует)

Udhav Sarvaiya 25.10.2018 12:11

Да, я уверен на все 100%. это происходит только на производственном сервере. На моем компьютере в журнале нет ошибок

Esmatullah Arifi 25.10.2018 12:14

Не могли бы вы объяснить, что делает каждая из этих команд? У меня была такая же проблема, и хотя я запускал config: clear, ошибка все равно отображалась. Теперь я запустил также config: cache, и я не хочу сглазить, но похоже, что это помогло.

clesmalo 25.06.2020 19:02

проверьте переменную "key" в файле config / app.php, она должна быть

 'key' => env('APP_KEY'),

ИЛИ

сделать так

'key' => "Your key",

И перезапустите свой php-сервер.

Я проверил, все в порядке в обоих файлах (.env и app.php)

Esmatullah Arifi 25.10.2018 11:54

Да, php artisan key:generate сгенерирует ключ для вас. как это в консоли

$ php artisan key:generate Application key [base64:soAqqNW/Kk85OclhmCKXj+u4nZGF142gEZHEY0Y1NXA=] set successfully.

вам нужно скопировать этот ключ и поместить его в ваш .env файл в параметре APP_KEY=.

Тем не менее, сообщение об ошибке существует. Я уже применил этот шаг.

Esmatullah Arifi 25.10.2018 11:55

@EsmatullahArifi, пожалуйста, проверьте свои права доступа к файлам проекта

hardik prajapati 21.11.2018 06:37

попробуйте эти команды:

composer install
php artisan key:generate
php artisan config:cache

как насчет composer dump-autoload?

Kapitan Teemo 25.10.2018 12:02

Вы можете опубликовать свой config/app.php? и скрыть конфиденциальные учетные данные.

Kapitan Teemo 20.11.2018 06:46

Добавьте пустой APP_KEY= в .env без значения, если он не существует, затем удалите config.php внутри bootstrap/cache, запустите php artisan key:generate

Я столкнулся с той же проблемой, которую я много искал, но в комментарии к видео на YouTube я нашел решение (я не уверен, что это решение хорошее или нет), но сработало для меня
скопируйте APP_KEY из файла .env
и в прошлом в файле app.php (расположенном в: your_project \ config)
Ваш app.php будет выглядеть так

.
. 
.
‘key’ => env(‘APP_KEY’, ‘base64:insert key here’),
.
. 
.

Я застрял с этой проблемой на целый день и, наконец, обнаружил, что это проблема с правами доступа к файлу .env. Файл, загруженный через scp, не имеет разрешений на чтение.

chmod -744 .env

Надеюсь, это поможет кому-то еще с той же проблемой.

Все, что вам нужно сделать, это

php artisan key:generate 

Ссылка

https://web-brackets.com/discussion/5/-solved-no-application-encryption-key-has-been-specified-

попробуйте дать разрешение, если вы используете ubuntu: * chmod -R 777 **

Проверьте этот ссылка, надеюсь, он вам поможет.

Другие вопросы по теме