Laravel 5 애플리케이션 키


80

저는 Laravel을 처음 사용합니다. 오늘 밤에 시작했습니다. 실제로 다음 코드가 있습니다.

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

에서 XAMPP / htdocs에 / laravel / 블로그 / 설정 / app.php .
이 키를 cmd로 32 비트로 변경하고 싶습니다.

xampp\htdocs\laravel/blog>php artisan key:generate 

키를 생성하지만 xampp / htdocs / laravel / blog / config / app.php 에서 교체 / 업데이트 할 수 없습니다 .


.env 파일이 제자리에 있습니까? 그렇다면 거기에 열쇠가 있는지 확인하십시오.
Juan Carlos Brown

@Juan Carlos Brown 나는 거기에서 그것을 얻었습니다, 감사합니다.
Raham

사용자 암호를 강조하기 위해 새로운 답변을 추가했습니다.
prosti

답변:


108

당신의이 행은 app.php, 'key' => env('APP_KEY', 'SomeRandomString'),당신의 응용 프로그램에 대한 키가 귀하의에서 찾을 수 있다고 말하고 .env라인에 파일 APP_KEY.

기본적으로 Laravel에게 .env파일 에서 키를 먼저 찾고 거기에 키가 없으면 사용하도록 지시합니다.'SomeRandomString' .

를 사용하면 파일이 아닌 파일에 php artisan key:generate새 키가 생성 됩니다..envapp.php

kotapeter가 말했듯이, 당신 .env은 루트 Laravel 디렉토리 안에 있으며 숨겨 질 수 있습니다. xampp / htdocs / laravel / blog


82

key다음 명령으로를 생성 할 수 있습니다 .

php artisan key:generate 

키는 .env파일에 자동으로 기록됩니다 .

APP_KEY=YOUR_GENERATED_KEY

key애프터 세대 사용 --show옵션 을보고 싶다면

php artisan key:generate --show

참고 : .env은 프로젝트 폴더에 숨겨진 파일입니다.

여기에 이미지 설명 입력


2
기본 빈 줄이 이미있는 경우 명령을 실행할 때 줄이 자동으로 업데이트됩니다. APP_KEY =
Andrew

42

키만 인쇄하려는 경우 (.env 파일을 작성하지 않음) 다른 옵션으로 사용할 수 있습니다.

php artisan key:generate --show

이것이 기본값이어야합니까? 그렇지 않으면 php artisan key : generate를 입력 할 때 (희망적으로 개발중인) 컴퓨터에 암호를 입력하지 않습니까? IE 우리는 PHP 장인 키가 필요합니다 : --write 생성
톰 앤더슨에게

1
@TomAndersen 아니요, APP_KEY는 암호 해싱이 아닌 암호화 (기본적으로 쿠키)에만 사용됩니다. 나는 tight.co/blog/app-key-and-you 가 좋은 설명 이라고 생각 했습니다 .
Charles Wood

2

라인에서

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

APP_KEY.env파일 내에 존재하는 전역 환경 변수입니다 .

트리거하는 경우 애플리케이션 키를 교체 할 수 있습니다.

php artisan key:generate

명령. 이것은 항상 새 키를 생성합니다.

출력은 다음과 같을 수 있습니다.


Application key [Idgz1PE3zO9iNc0E3oeH3CHDPX9MzZe3] set successfully.

Application key [base64:uynE8re8ybt2wabaBjqMwQvLczKlDSQJHCepqxmGffE=] set successfully.

Base64 인코딩은 Laravel 5.4에서 기본값이어야합니다.

Laravel 애플리케이션을 처음 만들 때 key : generate가 자동으로 호출됩니다.

키를 변경하면로 저장된 암호 Hash::make()는 더 이상 유효하지 않습니다.


4
"키를 변경하는 경우 Hash :: make ()로 저장된 암호는 더 이상 유효하지 않습니다." -나도 그렇게 생각 했어. 나는 또한 이것을 인터넷에서 꽤 자주 읽었습니다. 그러나 github.com/laravel/framework/blob/5.5/src/Illuminate/Hashing/…github.com/laravel/framework/blob/5.5/src/Illuminate/Hashing/… 및 과거를 살펴보면 이 코드의 버전에서 앱 키는 해시를 솔트하거나 다른 용도로 사용되지 않습니다. 앱 키 변경을 시도했는데 코드에서 알 수 있듯이 내 비밀번호는 여전히 올바르게 확인됩니다.
Leif

1
응용 프로그램 키는 문서에 언급 된 암호가 아닌 세션 데이터를 암호화하는 데 사용되며, 또한 적어도 내 이해에 따르면 대칭 암호 해독 가능한 암호화를 가정합니다.
Sergey Neskhodovskiy

1

나에게 문제는 내가 아직 composer update이 새로운 프로젝트 / 포크를 실행하지 않았다는 것이었다 . 명령은 조용히 실패했고 아무 일도 일어나지 않았습니다.

실행 후 작동 composer update했습니다.


1
당신은 의미 할 수 있습니다 composer install. composer update실제로 종속성을 업데이트하려는 경우가 아니라면 프로젝트의 새로운 포크 에서 즉시 실행해서는 안됩니다 .
Dan Abrey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.