Tôi gặp vấn đề tương tự với Laravel 5. 3 [trên máy chủ windows]. Tôi đã làm tất cả những nỗ lực có thể. đã kiểm tra. tệp env, cấu hình, tạo khóa thủ công mới, bộ đệm. rõ ràng, cấu hình. rõ ràng, bản cập nhật của nhà soạn nhạc, nhưng sự cố vẫn tiếp diễn một cách ngẫu nhiên
Lưu ý rằng chính xác cùng một mã với cùng một phiên bản chính xác của apache, mysql, php, không tạo ra sự cố này trên Mac OS
Tôi thấy rằng khóa [tham số đầu tiên của hàm tạo Mã hóa] đến "đôi khi" trống và tất nhiên là không thành công. Hầu hết thời gian khóa là chính xác, nhưng ngẫu nhiên khóa đến trống từ Nhà cung cấp dịch vụ mã hóa đến lượt nó yêu cầu cấu hình ứng dụng
Vì vậy, giải pháp duy nhất phù hợp với tôi là thêm if [$key] vào Encryption iServiceProvider để hàm tạo Mã hóa không được gọi bằng khóa trống
Tất nhiên không phải là một giải pháp "sạch" và cũng không giải thích được vấn đề, nhưng ít nhất cũng tránh được việc tìm thấy tệp nhật ký chứa đầy lỗi. ngoại lệ thời gian chạy. Các mật mã được hỗ trợ duy nhất là AES-128-CBC và AES-256-CBC và các trang được hiển thị chính xác
Nếu đây là lỗi của Laravel thì tôi không biết, nhưng tất nhiên nếu ai đó có thể giải thích điều này thì tôi sẽ rất vui được biết
Nếu bạn đang cài đặt một dự án Laravel mới và bạn gặp lỗi này trong trình điều hướng
RuntimeException trong biên dịch. dòng php 13506.
Các mật mã duy nhất được hỗ trợ là AES-128-CBC và AES-256-CBC với độ dài khóa chính xác.
Điều này là do bạn chưa tạo APP_KEY trong. tập tin env
Nếu bạn thấy. nội dung tệp env bạn thấy
APP_KEY=
Bạn phải thực hiện lệnh này để cập nhật giá trị APP_KEY
php artisan key:generate
Nếu bạn kiểm tra. env, bây giờ bạn có thể thấy giá trị APP_KEY mới
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
Ok, điều này về cơ bản đã được trả lời, nhưng tôi đã tìm thấy một số lưu ý rằng một trong hai điều đó đã bị rối loạn hoặc táo bón.
Đầu tiên, như đã nói, bạn nên đảm bảo rằng bạn có tệp .env
hợp lệ mà bạn có thể thực hiện trong thiết bị đầu cuối bằng cách sao chép tệp .env.example
hiện có như vậy
$ cp .env.example .env
Sau đó, tạo Khóa ứng dụng của bạn
$ php artisan key:generate
Khi điều này được thực hiện, hãy chắc chắn để mở của bạn. env và đảm bảo rằng dòng APP_KEY có vẻ chính xác - đây là nơi bắt nguồn sự kinh ngạc của tôi
APP_KEY=base64:MsUJo+qAhIVGPx52r1mbxCYn5YbWtCx8FQ7pTaHEvRo=base64:Ign7MpdXw4FMI5ai7SXXiU2vbraqhyEK1NniKPNJKGY=
Bạn sẽ nhận thấy rằng độ dài khóa bị sai, vì một số lý do không xác định [có thể do chạy khóa. tạo nhiều lần] có hai khóa base64=
trong đó. Xóa một cái là cách khắc phục sự cố tôi gặp phải và đây có vẻ là lỗi Artisan/Laravel