>  기사  >  백엔드 개발  >  laravel 5.1에서 지원되는 암호화 도구가 없습니다. 오류를 해결하는 방법

laravel 5.1에서 지원되는 암호화 도구가 없습니다. 오류를 해결하는 방법

不言
不言원래의
2018-06-13 14:55:461526검색

이 글은 주로 laravel 5.1 오류 해결에 대한 관련 정보를 소개합니다: 지원되는 암호화 도구를 찾을 수 없습니다. 글의 소개는 매우 상세하며 도움이 필요한 친구들이 참조할 수 있는 특정 참고 자료가 있습니다. 함께 살펴보세요.

이 글에서는 주로 laravel 5.1 오류를 해결하는 방법을 소개합니다. 지원되는 암호화 도구가 없습니다. 자세한 내용은 참고 및 학습을 위해 공유됩니다.

문제 설명

Using laravel5 .1 프로젝트 개발 중 "지원되는 암호화 도구를 찾을 수 없습니다. 암호 및/또는 키 길이가 잘못되었습니다."라는 오류 메시지가 나타나 페이지를 표시할 수 없습니다.

인터넷에 돌아다니는 대부분의 답변은 PHP artisan key:generate를 직접 실행하는 것입니다. 어떤 사람들은 그것이 효과가 있다고 생각하고 어떤 사람들은 그렇지 않습니다. PHP artisan key:generate即可。有些人发现可行,也有些并没有解决。

解决方法

首先解决这个问题的第一步是要看config/app.php中的cipher值:

1. 如果cipher的值是AES-256-CBC,那么通过生成新的key,然后再重启nginx和php-fpm就可以解决。这时生成的新key就会直接写入到.env文件内。

2. 但如果cipher是其他值,例如rijndael-256,就需要安装和启动mcrypt模块。AES-256-CBC不需要的原因是因为AES-256-CBC算法对应的底层是用openssl实现的,而与mcrypt无关。rijndael-256则是依赖于mcrypt模块。

检查mcrypt是否安装。方法可以是执行php -r “print_r(mcrypt_list_algorithms());”有无输出结果,还有一种是查看phpinfo()

Solution

이 문제를 해결하는 첫 번째 단계는 config/app.php에서 암호 값을 확인하는 것입니다.

1 암호 값이 AES-256-CBC인 경우 생성을 통과합니다. 새 키를 만든 다음 nginx와 php-fpm을 다시 시작하면 문제를 해결할 수 있습니다. 이때 생성된 새 키는 .env 파일에 직접 기록됩니다.

2. 그러나 cipher가 rijndael-256과 같은 다른 값인 경우 mcrypt 모듈을 설치하고 시작해야 합니다. AES-256-CBC가 필요하지 않은 이유는 AES-256-CBC 알고리즘에 해당하는 기본 레이어가 openssl을 사용하여 구현되고 mcrypt와 관련이 없기 때문입니다. rijndael-256은 mcrypt 모듈을 사용합니다.
mcrypt가 설치되어 있는지 확인하세요. php -r "print_r(mcrypt_list_algorithms());"를 실행하여 출력 결과가 있는지 확인하거나, phpinfo() 정보를 확인하는 방법이 있습니다.

mcrypt 모듈이 이미 설치되어 있으면 시작하세요.
실행 방법은 다음과 같습니다.

php5enmod mcrypt

마침내 nginx와 php-fpm을 다시 시작합니다

위 내용은 모두의 학습에 도움이 되기를 바랍니다. PHP 중국어 웹사이트! 관련 권장 사항:

🎜🎜PHP에서 치명적인 오류 session_start() 오류를 해결하는 방법🎜🎜🎜🎜🎜DateTime 클래스를 기반으로 하는 PHP에서 Unix 타임스탬프 및 날짜 변환 문제를 해결하는 방법🎜🎜🎜🎜🎜🎜🎜 🎜🎜

위 내용은 laravel 5.1에서 지원되는 암호화 도구가 없습니다. 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.