Nenhuma chave de criptografia de aplicativo foi especificada


255

Sou novo no Laravel e estou tentando usar o comando Artisan ...

php artisan serve

Exibe ...

Servidor de desenvolvimento Laravel iniciado: http://127.0.0.1:8000

No entanto, ele não será iniciado automaticamente e quando eu insiro manualmente http://127.0.0.1:8000, ele mostra este erro:

RuntimeException Nenhuma chave de criptografia de aplicativo foi especificada.

Alguma ideia? Estou usando o Laravel framework 5.5-dev.


ou se o seu arquivo .env precisar ser alterado ref: stackoverflow.com/questions/36276767/…
— #

2
As respostas abaixo estão corretas: no entanto, se você executar o "php artisan serve" pela primeira vez e tiver uma sessão ativa do servidor da web, será necessário reiniciar o servidor (control-c no terminal para parar) para que a alteração entre em vigor depois de você adicione a chave ao seu arquivo .env.
— Chris Adams

Respostas:


437

De criptografia - Laravel - O framework PHP para artesãos da Web :

"Antes de usar o criptografador do Laravel, você deve definir uma opção de chave no seu arquivo de configuração config / app.php. Você deve usar o php artisan key:generatecomando para gerar essa chave"

Eu descobri que usando essa consulta complexa da Internet no google.com.br:

"laravel add encryption key" (sim, funcionou mesmo com o erro de digitação!)


22
Pesquisei no Google todo o erro e nada apareceu, apenas pesquisei a chave de encriptyon set e descobri. Sinta-se como um tolo. Obrigado. Para quem chega aqui, corra:php artisan key:generate
— Carlos F

Me desculpe, então você está colocando php artisan key: generate no terminal? porque eu recebo uma ErrorException
— Nameishi 12/08

1
Para qualquer outra pessoa que correu para o meu problema de entrada deste no cp terminal de .env.example .env php artesão chave: gerar
— Nameishi

5
php artisan key:generatenem funciona para mim. Dá o mesmo erro Nenhuma chave de criptografia de aplicativo foi especificada , por favor, alguma solução?
— Oniya Daniel

7
Isso funcionou para mim, mas primeiro tive que renomear o arquivo .env.example para .env para que isso funcionasse, caso contrário, eu estava recebendo o erro ".env: no file tal".
— Webomatik

129

No meu caso, eu também precisei redefinir os arquivos de configuração em cache:

php artisan key:generate
php artisan config:cache

5
Eu sempre vêm para ver esta resposta depois que eu esqueça de limpar o cache
— vijayrana

3
Isso estava faltando em todas as respostas. Muito obrigado! :)
— Aman Alam

1
Para que serve php artisan config:cache? Por que isso é útil?
— Pathros

2
@Pathros para criar / regenerar os arquivos de configuração em cache
— Leonid Dashko

1
Além disso, primeiro, verifique se o seu .envarquivo " " contém pelo menos a opção-chave vazia, como:APP_KEY=
— Top-Master

54

Abra o prompt de comando na pasta raiz do seu projeto e execute o comando abaixo:

php artisan key:generate

Ele irá gerar a chave do aplicativo para o seu aplicativo.

Você pode encontrar a chave do aplicativo gerada (APP_KEY) no .envarquivo


23

Basta executar este comando:

php artisan key:generate

1
Sim, mas muitos servidores de hospedagem não têm acesso à linha de comando, então como fazer?
— Dhiraj

2
a maioria suporta conexão ssh. do seu terminal execute ssh yourusername @ server_ip
— DJ

21
  1. Copiar .env.examplepara .env:

    cp -a .env.example .env

  2. Gere uma chave:

    php artisan key:generate

  3. Somente então execute:

    php artisan serve


Ops. Este foi o passo crítico! Um novo projeto do Laravel precisa de um arquivo .env ou nada funcionará. Obrigado Adam.
— Eric L.

16

cp .env.example .envse não houver arquivo .env presente. php artisan key:generatecomando funciona para mim. Gera a chave de criptografia


4
limpe o cache usando o php artisan config:cachecomando após as etapas acima.
— Sabyasachi Ghosh

A limpeza do cache seria necessária principalmente na produção / preparação, mas não durante o desenvolvimento. (A menos que você queira armazenar em cache suas visualizações durante o desenvolvimento).
— killstreet

14

Na verdade, tive que adicionar um arquivo .env ao meu projeto e copiar o conteúdo de .env.example para que key:generatefuncionasse. Não sei por que um arquivo .env não foi criado quando iniciei o projeto.


1
Pode depender de como você instalou o Laravel ... " Em uma nova instalação do Laravel, o diretório raiz do seu aplicativo conterá um .env.examplearquivo. Se você instalar o Laravel via Composer, esse arquivo será automaticamente renomeado para .env. Caso contrário, você deverá renomear o arquivo arquivo manualmente. "- #Environment Configuration
— On-lineᴇᴌᴀ

Além disso, se você clonou o projeto de um repositório em que o arquivo .env provavelmente estava no .gitignore, também seria necessário criá-lo. De docs Laravel: 'Seu arquivo .env não deve ser comprometida com o controle de origem da sua aplicação, uma vez que cada desenvolvedor / servidor usando seu aplicativo poderia exigir uma configuração de ambiente diferente'
— Sami El Maameri

Eu também descobri que se você baixá-lo da nuvem (eu estou usando o Windows), ou seja, google-drive, sky-drive etc., os arquivos .env, .env.example são nomeados _env, _env.example etc. Nesse caso, eu renomeou os arquivos de acordo e então apenas executou 'php artisan key: generate'.
— Timothy Kruger

11
php artisan key:generate
php artisan config:cache

funcionou para mim, mas tinha que ser feito em um prompt de comando no Windows.

Fazê-lo dentro do terminal no PHPStorm não funcionou.


11

Um problema comum que você pode enfrentar ao trabalhar em um aplicativo Laravel é a exceção:

RuntimeException Nenhuma chave de criptografia de aplicativo foi especificada.

Você sempre encontrará isso quando abre um aplicativo Laravel existente, no qual copia o .env.examplearquivo, .envmas não define um valor para oAPP_KEY variável.

Na linha de comandos, emita o seguinte comando Artisan para gerar uma chave:

php artisan key:generate

Isso gerará uma chave aleatória para APP_KEY, Após a conclusão do.env edição, digite este comando no seu terminal para limpar o cache:php artisan config:cache

Além disso, se você estiver usando o servidor da web padrão do PHP (por exemplo php artisan serve), precisará reiniciar o servidor alterando .envos valores do arquivo. agora você não verá esta mensagem de erro.


9

Abra o prompt de comando na pasta raiz do seu projeto e execute

php artisan key:generate

Então

php artisan config:cache

e depois

Se você estiver recebendo o mesmo erro após ter o valor-chave, copie o valor APP_KEY do arquivo .env e cole-o no config / app.php com 'key' => 'YOUR KEY',

e depois corra novamente

php artisan config:cache

7

Siga estes passos:

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve

mesmo depois de gerar a chave no arquivo .env, eu estava recebendo erro. Quando executei o "php artisaan config: cache", ele limpou o cache e apenas o meu problema foi resolvido. Muito obrigado.
— Pankaj

6

Ok, vou escrever outra instrução, porque não encontrou a resposta clara aqui. Portanto, se você enfrentou esses problemas, siga este procedimento:

  1. Renomeie ou copie / renomeie o arquivo .env.example na raiz do seu projeto para .env .

Você não deve apenas criar um arquivo .env vazio , mas preenchê-lo com o conteúdo de .env.example .

  1. No terminal, vá para o diretório raiz do projeto (não para a pasta pública) e execute

chave do artesão php: gerar

  1. Se estiver tudo bem, a resposta no terminal deve ficar assim

Chave do aplicativo [base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] definida com êxito.

  1. Agora, basta copiar a própria chave e colá-la no seu arquivo .env como o valor para APP_KEY. A linha de resultado deve ficar assim:

APP_KEY = base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. Na execução do terminal

php artisan config: cache

É isso aí.


Portanto php artisan key:generate, não adicionou automaticamente a chave ao seu arquivo .env?
— Rwd

Não, no meu caso.
— Dmitry Gordienko

4

Você pode gerar a chave de criptografia de aplicativo usando este comando:

php artisan key:generate

Em seguida, crie um arquivo de cache para um carregamento mais rápido da configuração usando este comando:

php artisan config:cache

Ou atenda ao aplicativo no servidor de desenvolvimento PHP usando este comando:

php artisan serve

É isso aí!


3

Se você clicou em algum projeto, esse tipo de problema geralmente pode ocorrer.

  1. verifique se há .env arquivo
  2. executar php artisan key:generatee, em seguida, deve gerar APP_KEY em .env
  3. finalmente corra php artisan servee deve estar funcionando.

1

Corri para esse problema quando copiei manualmente o conteúdo do meu projeto Laravel (digamos sites / oldname) em um novo diretório no meu Mac (digamos sites / newname). Como eu estava arrastando e soltando manualmente, ele não pegou os arquivos ocultos, ou seja, '.env'. Quando examinei mais de perto os sites / nome antigo, vi .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml etc.

O erro desapareceu depois que eu copiei os arquivos ocultos para o novo diretório.

Portanto, "Nenhuma chave de criptografia de aplicativo foi especificada" é o Laravel fala por "seu arquivo .env está ausente".


0

Eu tive que reiniciar meu trabalhador de fila usando php artisan queue:restartapós a execução php artisan key:generatepara fazer os trabalhos funcionarem.



0

No meu caso, ao clonar o projeto do git, não havia .env

Arquivo. Então, copio o .envarquivo do projeto de origem e colo no meu projeto atual, altero sua configuração do banco de dados e ele é executado com êxito.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.