지정된 응용 프로그램 암호화 키가 없습니다


255

나는 Laravel을 처음 사용하고 장인 명령을 사용하려고합니다 ...

php artisan serve

표시됩니다 ...

라 라벨 개발 서버 시작 : http://127.0.0.1:8000

그러나 자동으로 시작되지 않으며 http://127.0.0.1:8000을 수동으로 입력 하면 다음 오류가 표시됩니다.

RuntimeException 응용 프로그램 암호화 키가 지정되지 않았습니다.

어떤 아이디어? Laravel 프레임 워크 5.5-dev를 사용하고 있습니다.


또는 .env 파일을 변경해야하는 경우 ref : stackoverflow.com/questions/36276767/…
Nameishi

2
아래의 대답은 맞습니다. 그러나 "php artisan serve"를 처음 실행하고 웹 서버 세션을 활성화 한 경우 서버를 다시 시작해야 (터미널에서 control-c) 중지 한 후 변경 사항을 적용 할 수 있습니다. .env 파일에 키를 추가하십시오.
Chris Adams

답변:


437

에서 암호화 - Laravel - PHP의 프레임 워크에 대한 웹 장인 :

"Laravel의 암호화기를 사용하기 전에 config / app.php 구성 파일에서 키 옵션을 설정해야합니다. php artisan key:generate이 키를 생성 하려면 명령을 사용해야합니다 "

google.com 에서이 복잡한 인터넷 쿼리를 사용하는 것을 발견했습니다.

"laravel add encrption key"(예, 오타에서도 작동했습니다!)


22
나는 전체 오류를 봤지만 아무것도 배제하지 않았다. 단지 googled가 암호 키를 설정하고 알아 냈다. 바보 같아 감사. 여기에 도착하는 사람은 다음을 실행하십시오.php artisan key:generate
Carlos F

죄송합니다. PHP artisan key : generate를 터미널에 넣고 있습니까? ErrorException이 발생하기 때문에
Nameishi

1
내 문제가 발생한 다른 사람은 이것을 터미널 cp .env.example .env php artisan key : generate
Nameishi에서

5
php artisan key:generate심지어 나를 위해 작동하지 않습니다. 나 부여 같은 오류 없음 응용 프로그램의 암호화 키가 지정되어 , 모든 솔루션을하세요?
오니 야 다니엘

7
이것은 나를 위해 일했지만, 이것이 작동하려면 먼저 파일 .env.example의 이름을 .env로 바꿔야했습니다. 그렇지 않으면 ".env : no such file"오류가 발생했습니다.
Webomatik

129

필자의 경우 캐시 된 구성 파일을 재설정해야했습니다.

php artisan key:generate
php artisan config:cache

5
캐시를 지우는 것을 잊은 후에 항상이 답변을 보게됩니다.
vijayrana

3
이것은 모든 대답에서 빠졌습니다. 대단히 감사합니다! :)
Aman Alam

1
무엇입니까 php artisan config:cache? 왜 유용한가요?
Pathros

2
캐시 된 구성 파일을 생성 / 재생하기위한 @Pathros
Leonid Dashko

1
이 외에도, 먼저 " .env"파일에 최소한 다음과 같은 빈 키 옵션이 포함되어 있는지 확인하십시오 .APP_KEY=
Top-Master

54

프로젝트의 루트 폴더에서 명령 프롬프트를 열고 아래 명령을 실행하십시오.

php artisan key:generate

응용 프로그램에 대한 응용 프로그램 키를 생성합니다.

.env파일 에서 생성 된 애플리케이션 키 (APP_KEY)를 찾을 수 있습니다 .


23

이 명령을 실행하면됩니다.

php artisan key:generate

1
예. 그러나 많은 호스팅 서버에 명령 줄 액세스 권한이 없으면 어떻게해야합니까?
Dhiraj

2
대다수 지원 ssh 연결. 터미널에서 ssh yourusername @ server_ip
DJ

21
  1. 복사 .env.example하기 .env:

    cp -a .env.example .env

  2. 키를 생성하십시오.

    php artisan key:generate

  3. 그런 다음에 만 실행하십시오.

    php artisan serve


으악. 이것은 중요한 단계였습니다! 새로운 라 라벨 프로젝트에는 .env 파일이 필요하거나 아무것도 작동하지 않습니다. 고마워, 아담
Eric L.

16

cp .env.example .env.env 파일이없는 경우 php artisan key:generate명령이 나를 위해 작동합니다. 암호화 키를 생성합니다


4
php artisan config:cache위 단계 후에 명령을 사용하여 캐시를 지우십시오 .
Sabyasachi Ghosh

캐시 지우기는 주로 프로덕션 / 스테이징에 필요하지만 개발 중에는 필요하지 않습니다. (개발 중에 뷰를 캐시하지 않으려는 경우).
killstreet

14

실제로 프로젝트에 .env 파일 을 추가 한 다음 작동 하도록 .env.example 의 내용을 복사해야 key:generate했습니다. 프로젝트를 시작할 때 .env 파일이 생성되지 않은 이유를 잘 모르겠습니다 .


1
Laravel 설치 방법에 따라 다를 수 있습니다 ... " 새로운 Laravel 설치에서는 응용 프로그램의 루트 디렉토리에 .env.example파일 이 포함 됩니다. Composer를 통해 Laravel을 설치하면이 파일의 이름이 자동으로 변경됩니다 .env. 그렇지 않으면 파일 이름을 바꾸어야합니다 . 파일을 수동으로. "- #Environment 구성
Sᴀᴍ Onᴇᴌᴀ에게

또한 .env 파일이 .gitignore에있을 가능성이있는 리포지토리에서 프로젝트를 복제 한 경우 해당 파일을 만들어야합니다. Laravel의 문서에서 '응용 프로그램을 사용하여 각 개발자 / 서버가 다른 환경 구성이 필요할 수 있기 때문에 당신은 .env 파일, 응용 프로그램의 소스 제어하기 위해 최선을 다하고되어서는 안된다'
사미 엘 Maameri

또한 클라우드 (Windows를 사용하고 있음)에서 다운로드하면 Google 드라이브, 스카이 드라이브 등 .env, .env.example 파일의 이름은 _env, _env.example 등입니다. 그에 따라 파일 이름을 바꾼 다음 'php artisan key : generate'를 실행했습니다.
Timothy Kruger

11
php artisan key:generate
php artisan config:cache

나를 위해 일했지만 Windows의 명령 프롬프트에서 수행해야했습니다.

PHPStorm의 터미널에서 수행하는 것은 효과가 없었습니다.


11

라 라벨 애플리케이션에서 작업 할 때 발생할 수있는 일반적인 문제는 예외입니다.

RuntimeException 응용 프로그램 암호화 키가 지정되지 않았습니다.

.env.example파일을 복사 .env하지만 APP_KEY변수 의 값을 설정하지 않는 기존 라 라벨 애플리케이션을 풀다운 할 때 종종이 문제가 발생합니다 .

명령 행에서 다음 Artisan 명령을 실행하여 키를 생성하십시오.

php artisan key:generate

에 대한 임의의 키가 생성됩니다. 편집 APP_KEY완료 후 .env캐시에서 캐시를 지우려면 터미널에 다음 명령을 입력하십시오php artisan config:cache

또한 PHP의 기본 웹 서버 (예 :)를 사용하는 경우 파일 값을 변경하여 서버php artisan serve다시 시작 해야 .env합니다. 이제이 오류 메시지가 표시되지 않습니다.


9

프로젝트의 루트 폴더에서 명령 프롬프트를 열고 실행하십시오.

php artisan key:generate

그때

php artisan config:cache

그리고

키-값을 얻은 후에도 같은 오류가 발생하면 .env 파일에서 APP_KEY 값을 복사하여 'key'=> 'YOUR KEY'를 사용하여 config / app.php에 붙여 넣으십시오.

그리고 다시 실행

php artisan config:cache

7

다음 단계를 수행하십시오.

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

.env 파일에서 키를 생성 한 후에도 오류가 발생했습니다. "php artisaan config : cache"를 실행하면 캐시가 지워지고 문제가 해결되었습니다. 고마워
Pankaj

6

좋아, 여기에 명확한 대답을 찾지 못했기 때문에 다른 지시를 쓸 것입니다. 따라서 이러한 문제가 발생하면 다음을 수행하십시오.

  1. 프로젝트 루트에있는 .env.example 파일의 이름 을 .env로 바꾸거나 이름을 바꾸 십시오 .

.env 파일을 만들지 말고 .env.example의 내용으로 채우십시오 .

  1. 터미널에서 프로젝트 루트 디렉토리 (공용 폴더 아님)로 이동하여 실행하십시오.

PHP 장인 키 : 생성

  1. 모든 것이 정상이면 터미널의 응답은 다음과 같아야합니다.

응용 프로그램 키 [base64 : wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =]가 성공적으로 설정되었습니다.

  1. 이제 키 자체를 복사하여 .env 파일에 APP_KEY의 값으로 붙여 넣으십시오 . 결과 라인은 다음과 같아야합니다.

APP_KEY = base64 : wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. 터미널 런

PHP 장인 구성 : 캐시

그게 다야.


그래서 php artisan key:generate자동으로 .env의 파일에 키를 추가하지 않았다?
Rwd

아뇨, 제 경우에는
드미트리 고르 디엔 코

4

이 명령을 사용하여 응용 프로그램 암호화 키를 생성 할 수 있습니다.

php artisan key:generate

그런 다음이 명령을 사용하여보다 빠른 구성로드를 위해 캐시 파일을 작성하십시오.

php artisan config:cache

또는 다음 명령을 사용하여 PHP 개발 서버에서 응용 프로그램을 제공하십시오.

php artisan serve

그게 다야!


3

일부 프로젝트를 git clone하면 이런 종류의 문제가 일반적으로 발생할 수 있습니다.

  1. 있는지 확인하십시오 .env파일
  2. 실행 php artisan key:generate한 다음 APP_KEY 를 생성해야합니다 .env에 를
  3. 마침내 실행 php artisan serve되고 작동해야합니다.

1

Laravel 프로젝트의 내용 (예 : sites / oldname)을 Mac의 새 디렉토리 (예 : sites / newname)에 수동으로 복사 할 때이 문제가 발생했습니다. 수동으로 끌어서 놓기 때문에 숨겨진 파일, 즉 '.env'를 잡지 못했습니다. sites / oldname을 자세히 살펴보면 .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml 등을 보았습니다.

숨겨진 파일을 새 디렉토리에 복사하면 오류가 사라졌습니다.

따라서 "응용 프로그램 암호화 키를 지정하지 않았습니다"는 Laravel이 ".env 파일이 없습니다"라고 말합니다.


0

작업 php artisan queue:restart을 수행 php artisan key:generate하기 위해 실행 한 후에 사용하여 큐 작업자를 다시 시작해야 했습니다.



0

내 경우에는 git에서 프로젝트를 복제하는 동안 .env

파일. 그래서 .env소스 프로젝트에서 파일을 복사하여 현재 프로젝트에 붙여 넣고 데이터베이스 구성을 변경하면 성공적으로 실행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.