larabel 지원되는 암호화기를 찾을 수 없습니다.암호 및/또는 키 길이가 잘못되었습니다.
저는 라라벨을 사용하여 프로젝트를 만들고 있습니다.로컬 호스트에서는 정상적으로 동작하고 있었지만, 서버에 업 로드하면(서버에 comodo ssl이 인스톨 되어 있다), 다음의 에러가 표시됩니다.
RuntimeException in EncryptionServiceProvider.php line 29:
No supported encrypter found. The cipher and / or key length are invalid
in EncryptionServiceProvider.php line 29
at EncryptionServiceProvider->Illuminate\Encryption\{closure}(object(Application), array()) in Container.php line 733
at Container->build(object(Closure), array()) in Container.php line 626
at Container->make('encrypter', array()) in Application.php line 674
at Application->make('Illuminate\Contracts\Encryption\Encrypter') in Container.php line 837
at Container->resolveClass(object(ReflectionParameter)) in Container.php line 800
at Container->getDependencies(array(object(ReflectionParameter)), array()) in Container.php line 771
at Container->build('SahraSalon\Http\Middleware\EncryptCookies', array()) in Container.php line 626
at Container->make('SahraSalon\Http\Middleware\EncryptCookies', array()) in Application.php line 674
at Application->make('SahraSalon\Http\Middleware\EncryptCookies') in Pipeline.php line 123
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 118
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 86
at Kernel->handle(object(Request)) in index.php line 54
누가 이 오류를 해결할 수 있을까요?
콘솔에서만 입력할 수 있습니다.
php artisan key:generate
또한 app.php에서 이 키를 변경하지 않으면 수동으로 변경하십시오.
다음에, 다음의 에러 메세지가 표시되는 경우는, 다음과 같습니다.
[오류 예외]
file_get_filenv(/path/to/my/project/.env): 스트림을 열지 못했습니다.해당 파일 또는 디렉터리가 없습니다.
그런 다음 의 복사본을 만듭니다..env.example
파일을 저장하고 다시 시도합니다.
cp .env.example .env
php artisan key:generate
서버에 필요한 확장 기능이 모두 설치되어 있습니까?
- PHP > = 5.5.9
- OpenSSL PHP 확장
- PDO PHP 확장
- Mbstring PHP 확장자
- 토큰라이저 PHP 확장
OpenSSL 확장자가 없을 수 있습니다.또, 열쇠가 세팅되어 있습니까?.env
파일링?
실행 시도:
php artisan key:generate
답변:'cipher' => ''
설정되지 않았습니다.
다음을 실행하여 수정했습니다.
php artisan config:cache
이전에도 같은 문제가 있었는데 다음과 같이 수정했습니다.config/app.php로 이동, 변경"cipher" => "anything"
로.
'cipher' => MCRYPT_RIJNDAEL_128,
오류를 수정하는 것뿐입니다.
Shift+Click
마우스 오른쪽 버튼을 눌러 루트 프로젝트의 "여기에 추천 창 열기"를 선택합니다.- 콘솔 쓰기:
"php artisan key:generate"
. - 32글자의 '마크'를 취득하다
config/app.php
맘에 들다'key' => env('APP_KEY', 'insert get 32 char key')
,//행 번호81
제 경우 mcrypt 확장을 활성화해야 합니다.
그러나 먼저 이미 가지고 있는지 확인합니다.
$ sudo apt-get install -y mcrypt php5-mcrypt
mcrypt 모듈이 로딩되었는지 확인합니다.
$ php -m | grep mcrypt
아무것도 표시되지 않는 것은 로딩되어 있지 않기 때문입니다만, 위에 이미 인스톨 되어 있는 것이 맞습니까?다음 작업을 수행합니다.
$ php5enmod mcrypt
$ sudo service apache2 restart
다시 확인하면 아무것도 표시되지 않고 mcrypt를 볼 수 있습니다.좋은 징조입니다.앱을 새로고침하고 다음 오류를 수정하세요;)
$ php -m | grep mcrypt
mcrypt
루트 디렉토리에 있는 경우.env.example
파일링 후 로 변경합니다..env
그리고 나서 달려라php artisan key:generate
이건 나한테 효과가 있었어.
콘솔로 쓰다php artisan key:generate
다음과 같은 메시지가 나타납니다.Application key [get 32 char key] set successfully.
앱 키 교체config/app.php
맘에 들다'key' => env('APP_KEY', 'insert get 32 char key'),//line number 81
해결 방법:
php 장인 키: 생성
.env 파일에서 키를 읽는 대신 app.env 컨피규레이션파일을 사용하는 경우 다음과 같이 키 변수에서 env() 함수를 삭제할 수 있습니다.
'key' = env('someRandom36CharsString'),
로.
'key' = 'someRandom36CharsString',
가동 중인 Ubuntu 서버에 대한 전개를 해결할 수 있었습니다.다음은 모든 절차입니다.
PHP > = 5.5.9 확인
OpenSSL, Mbstring, Tokenizer 및 mcrypt가 설치되어 있는지 확인합니다.
PHP(Ubuntu)에 mcrypt를 설치하려면:
sudo apt-get install php5-mcrypt,
sudo php5enmod mcrypt
저장소 폴더 쓰기 가능:
chmod -R 0777 storage
Apache가 Lavarel / public 폴더를 홈으로 사용하도록 합니다.
DocumentRoot /home/code2/public_html/Laravel-Project/public
<Directory "/home/code2/public_html/Laravel-Project/public”>
AllowOverride all
</Directory>
Major 하지 않을 수 는 숨김 파일을 복사하지 않습니다..env
★★★★★★★★★★★★★★★★★」/public/.htaccess
★★★★★★★★★★★★★★★★★★★!
위의 작업을 완료한 후 Ubuntu 서버에서 작동했습니다.
키가 부트스트랩\cache\config.php에 캐시되어 있는 것을 발견할 때까지 몇 시간 동안 이 문제에 시달렸습니다.파일을 삭제하면 사이트가 정상적으로 로드됩니다(그 이외의 경우는 설정에 문제가 없었습니다).
이를 확인하려면 boostrap\cache\compiled에 디버깅 출력을 추가합니다.php를 사용하여 암호와 키를 뱉습니다(7010 행 주위에 표시).그런 다음 설정을 어떻게 선택했는지 조사해보니 캐시 설정 파일이 사용되고 있습니다.
기계에 이 요구 사항이 있는지 확인하십시오.
- PHP > = 5.6.4
- OpenSSL PHP 확장
- PDO PHP 확장
- Mbstring PHP 확장자
- 토큰라이저 PHP 확장
- XML PHP 확장
그런 다음 프로젝트 설치 또는 업데이트 후
컴포저 갱신
이 일이 있고 나면..
.env.module
복제하고 이름을...
.env
데이터베이스 구성 또는 기타 필요한 변경 사항에 따라 변경할 수 있습니다.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your db name
DB_USERNAME=username if any otherwise root
DB_PASSWORD= your password if not set leave blank
마지막으로 응용 프로그램 키를 생성합니다.
php 장인 키: 생성
'누군가는 마지막 단계일 수도 있다'는 것만으로 충분합니다.하지만 나는 어떤 큰 프로젝트를 복제할 때마다 이 문제를 겪는다.이 모든 단계를 거치면 위험이 따릅니다.
"illuminate/html": "~5.0"
을 composer.json
파일입니다.이렇게요.
...
"require": {
...
"illuminate/html": "~5.0"
...
},
...
다음 " " " " 를 실행합니다.composer install
명령어를 입력합니다.composer install
달리다php artisan key:generate
다음과 하다
Application key [get 32 char key] set successfully.
오래된 에서는 "라라벨"에서 암호 ./config/app.php
AES-256-CBC'AES-128-CBC로 합니다.AES-256-CBC'는 'AES-128-CBC'입니다.
confing/app.php의 디폴트 암호는 "AES-256-CBC"로 32글자의 스트링이 필요하며 암호 "AES-128-CBC"는 16글자만 필요합니다.
「」를 입력합니다.php artisan key:generate
이치노
새로운 버전
'cipher' => 'AES-256-CBC',
구판
'cipher' => 'AES-128-CBC',
언급URL : https://stackoverflow.com/questions/31512970/laravel-no-supported-encrypter-found-the-cipher-and-or-key-length-are-invalid
'it-source' 카테고리의 다른 글
자체 참조 테이블에서 주문 기준 (0) | 2023.02.02 |
---|---|
빈 문자열의 "분할"이 비어 있지 않은 어레이를 반환하는 이유는 무엇입니까? (0) | 2023.02.02 |
PHP '테이블 만들기' 테이블 이름에 따옴표가 포함되어 있습니다. (0) | 2023.02.02 |
일본어 텍스트를 두 번 클릭하면 Chrome에서 강조 표시할 항목을 어떻게 결정합니까? (0) | 2023.02.02 |
인터페이스 상수의 용도는 무엇입니까? (0) | 2023.01.23 |