Не указан ключ шифрования приложения

144

Я новичок в Laravel, и я пытаюсь использовать команду Artisan...

php artisan serve

Он отображает...

Начался сервер разработки Laravel: http://127.0.0.1:8000

Однако он не будет автоматически запускаться, и когда я вручную вхожу в http://127.0.0.1:8000, он показывает эту ошибку:

RuntimeException. Ключ шифрования приложения не указан.

Есть идеи? Я использую Laravel framework 5.5-dev.

  • 0
    или если ваш файл .env необходимо изменить ref: stackoverflow.com/questions/36276767/…
  • 2
    Ниже приведены правильные ответы: однако, если вы впервые запустили «php artisan serve» и у вас активная сессия веб-сервера, вам нужно будет перезапустить сервер (control-c в терминале, чтобы остановить его), чтобы изменения вступили в силу после того, как вы добавьте ключ к вашему файлу .env.
Теги:
laravel-5
laravel-5.5
artisan

13 ответов

250
Лучший ответ

От шифрования - Laravel - PHP Framework для веб-мастеров:

"Прежде чем использовать шифр Laravel, вы должны установить ключ в конфигурационном файле config/app.php. Вы должны использовать php artisan key:generate команду для генерации этого ключа"

Я обнаружил, что с помощью этого сложного интернет-запроса на google.com:

"laravel add encrption key" (Да, он работал даже с опечаткой!)

  • 20
    Я погуглил всю ошибку и ничего не появилось, просто погуглил установленный ключ encriptyon и выяснил. Почувствуй себя дураком. Благодарю. Для тех, кто прибывает сюда, просто запустите: php artisan key:generate
  • 0
    Извините, вы кладете ключ php artisan: генерировать в терминале? потому что я получаю ErrorException
Показать ещё 8 комментариев
54

В моем случае мне также нужно было сбросить файлы кэшированных конфигураций:

php artisan key:generate
php artisan config:cache
  • 3
    Я всегда вижу этот ответ после того, как забываю очистить кеш
  • 1
    Этого не хватало во всех ответах. Большое спасибо! :)
Показать ещё 2 комментария
46

Запустите команду php artisan key:generate, она создаст Ключ приложения для вашего приложения. Вы можете найти ключ приложения (APP_KEY) в файле .env.

  • 0
    Я думаю, что вы должны обновить ответ. Имя файла .env.
  • 0
    @ Madhab452 спасибо, я все исправил.
16

просто запустите php artisan key:generate

  • 1
    Да, но многие серверы не имеют доступа к командной строке, как это сделать?
  • 1
    большинство поддерживает соединение SSH. из вашего терминала запустите ssh yourusername @ server_ip
14

Мне действительно нужно было добавить файл .env в мой проект, а затем скопировать содержимое .env.example, чтобы работала key:generate. Не знаю, почему файл .env не был создан при запуске проекта.

  • 1
    Это может зависеть от того, как вы установили Laravel ... " В новой установке Laravel корневой каталог вашего приложения будет содержать файл .env.example . Если вы установите Laravel через Composer, этот файл будет автоматически переименован в .env . В противном случае вам следует переименовать файл вручную. "- # Конфигурация среды
  • 0
    Кроме того, если вы клонировали проект из репозитория, в котором файл .env находился, скорее всего, в .gitignore, то вам также необходимо его создать. Из документов Laravel: «Ваш файл .env не должен передаваться в систему контроля версий вашего приложения, поскольку каждому разработчику / серверу, использующему ваше приложение, может потребоваться отдельная конфигурация среды»
Показать ещё 1 комментарий
13
  1. Скопируйте .env.example в .env:

    cp -a.env.example.env

  2. Создайте ключ:

    php artisan key:generate

  3. Только тогда запустите:

    php artisan serve

12

cp.env.example.env если нет файла.env. php artisan key:generate команду работает для меня. Он генерирует ключ шифрования

  • 0
    очистите кеш с помощью команды php artisan config:cache после выполнения вышеуказанных действий.
10
php artisan key:generate
php artisan config:cache

работал для меня, но это нужно было сделать в командной строке Windows.

Выполнение этого внутри терминала в PHPStorm не сработало.

7

Типичная проблема, с которой вы можете столкнуться при работе с приложением Laravel, это исключение:

RuntimeException Не указан ключ шифрования приложения.

Вы часто сталкиваетесь с этим, когда вы .env.example существующее приложение Laravel, где вы копируете файл .env в .env но не устанавливаете значение для переменной APP_KEY.

В командной строке введите следующую команду Artisan для создания ключа:

php artisan key:generate

Это сгенерирует случайный ключ для APP_KEY После завершения редактирования .env введите эту команду в свой терминал для очистки кеша: php artisan config:cache

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

4

Хорошо, я напишу еще одну инструкцию, потому что не нашел четкого ответа здесь. Так что, если вы столкнулись с такими проблемами, следуйте этому:

  1. Переименуйте или скопируйте/переименуйте файл .env.example в корне вашего проекта в .env.

Вы должны не просто создать пустой файл .env, но и заполнить его содержимым .env.example.

  1. В терминале перейдите в корневой каталог проекта (не в общую папку) и запустите

Ключ ремесленника php: генерировать

  1. Если все хорошо, ответ в терминале должен выглядеть так

Ключ приложения [base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] установлен успешно.

  1. Теперь просто скопируйте сам ключ и вставьте его в свой файл .env в качестве значения для APP_KEY. Строка результата должна выглядеть так:

APP_KEY = base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. В терминальном прогоне

Конфигурация php artisan: кеш

Это.

  • 0
    Итак, php artisan key:generate не добавляла ключ автоматически в ваш файл .env?
  • 0
    Нет, в моем случае.
3

Вы можете сгенерировать ключ шифрования приложения, используя эту команду:

php artisan key:generate

Затем создайте файл кэша для более быстрой загрузки конфигурации с помощью этой команды:

php artisan config:cache

Или подайте приложение на сервер разработки PHP с помощью этой команды:

php artisan serve

Это!

0
  1. Ключ ремесленника php: генерировать
  2. Конфигурация php artisan: кеш
  3. подача ремесленника php
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню