Laravel 8 không đọc tệp env

Tất cả các tệp cấu hình cho khung Laravel được lưu trữ trong thư mục

APP_NAME="My Application"

8. Mỗi tùy chọn đều được ghi lại, vì vậy, vui lòng xem qua các tệp và làm quen với các tùy chọn có sẵn cho bạn

Các tệp cấu hình này cho phép bạn định cấu hình những thứ như thông tin kết nối cơ sở dữ liệu, thông tin máy chủ thư của bạn, cũng như nhiều giá trị cấu hình cốt lõi khác, chẳng hạn như múi giờ ứng dụng và khóa mã hóa

Tổng quan về ứng dụng

Đang vội?

Nếu bạn chỉ quan tâm đến một phần cụ thể của kết quả tổng quan về ứng dụng, bạn có thể lọc phần đó bằng tùy chọn

'debug' => env['APP_DEBUG', false],

0

php artisan about --only=environment

Cấu hình môi trường

Thường hữu ích khi có các giá trị cấu hình khác nhau dựa trên môi trường mà ứng dụng đang chạy. Ví dụ: bạn có thể muốn sử dụng cục bộ trình điều khiển bộ đệm khác với trình điều khiển bộ đệm mà bạn sử dụng trên máy chủ sản xuất của mình

Để thực hiện điều này một cách chắc chắn, Laravel sử dụng thư viện DotEnv PHP. Trong bản cài đặt Laravel mới, thư mục gốc của ứng dụng của bạn sẽ chứa tệp

'debug' => env['APP_DEBUG', false],

1 xác định nhiều biến môi trường phổ biến. Trong quá trình cài đặt Laravel, tệp này sẽ tự động được sao chép vào

'debug' => env['APP_DEBUG', false],

2

Tệp

'debug' => env['APP_DEBUG', false],

2 mặc định của Laravel chứa một số giá trị cấu hình phổ biến có thể khác nhau dựa trên việc ứng dụng của bạn đang chạy cục bộ hay trên máy chủ web sản xuất. Các giá trị này sau đó được lấy từ các tệp cấu hình Laravel khác nhau trong thư mục

APP_NAME="My Application"

8 bằng hàm

'debug' => env['APP_DEBUG', false],

5 của Laravel

Nếu bạn đang phát triển với một nhóm, bạn có thể muốn tiếp tục bao gồm tệp

'debug' => env['APP_DEBUG', false],

1 cùng với đơn đăng ký của mình. Bằng cách đặt các giá trị giữ chỗ trong tệp cấu hình ví dụ, các nhà phát triển khác trong nhóm của bạn có thể thấy rõ các biến môi trường nào cần thiết để chạy ứng dụng của bạn

Lưu ý
Bất kỳ biến nào trong tệp

'debug' => env['APP_DEBUG', false],

2 của bạn đều có thể bị ghi đè bởi các biến môi trường bên ngoài, chẳng hạn như biến môi trường cấp máy chủ hoặc cấp hệ thống.

Bảo mật tệp môi trường

Tệp

'debug' => env['APP_DEBUG', false],

2 của bạn không nên được cam kết với quyền kiểm soát nguồn của ứng dụng, vì mỗi nhà phát triển/máy chủ sử dụng ứng dụng của bạn có thể yêu cầu cấu hình môi trường khác. Hơn nữa, đây sẽ là một rủi ro bảo mật trong trường hợp kẻ xâm nhập có quyền truy cập vào kho lưu trữ kiểm soát nguồn của bạn, vì mọi thông tin đăng nhập nhạy cảm sẽ bị lộ

Tuy nhiên, có thể mã hóa tệp môi trường của bạn bằng mã hóa môi trường tích hợp của Laravel. Các tệp môi trường được mã hóa có thể được đặt trong kiểm soát nguồn một cách an toàn

Tệp môi trường bổ sung

Trước khi tải các biến môi trường của ứng dụng của bạn, Laravel xác định xem biến môi trường

'debug' => env['APP_DEBUG', false],

9 đã được cung cấp từ bên ngoài chưa hay đối số CLI của

APP_NAME="My Application"

30 đã được chỉ định chưa. Nếu vậy, Laravel sẽ cố tải một tệp

APP_NAME="My Application"

31 nếu nó tồn tại. Nếu nó không tồn tại, tệp

'debug' => env['APP_DEBUG', false],

2 mặc định sẽ được tải

Các loại biến môi trường

Tất cả các biến trong tệp

'debug' => env['APP_DEBUG', false],

2 của bạn thường được phân tích cú pháp dưới dạng chuỗi, do đó, một số giá trị dành riêng đã được tạo để cho phép bạn trả về phạm vi loại rộng hơn từ hàm

APP_NAME="My Application"

34

'debug' => env['APP_DEBUG', false],

2 Giá trị

APP_NAME="My Application"

34 Giá trịtrue[bool] true[true][bool] truefalse[bool] false[false][bool] falseempty[string] ''[empty][string] ''null[null] null[null][null] null

Nếu bạn cần xác định một biến môi trường có giá trị chứa khoảng trắng, bạn có thể làm như vậy bằng cách đặt giá trị trong dấu ngoặc kép

APP_NAME="My Application"

Truy xuất cấu hình môi trường

Tất cả các biến được liệt kê trong tệp

'debug' => env['APP_DEBUG', false],

2 sẽ được tải vào siêu toàn cục PHP

APP_NAME="My Application"

38 khi ứng dụng của bạn nhận được yêu cầu. Tuy nhiên, bạn có thể sử dụng hàm

'debug' => env['APP_DEBUG', false],

5 để truy xuất các giá trị từ các biến này trong tệp cấu hình của mình. Trên thực tế, nếu bạn xem lại các tệp cấu hình của Laravel, bạn sẽ nhận thấy nhiều tùy chọn đã sử dụng chức năng này

'debug' => env['APP_DEBUG', false],

Giá trị thứ hai được truyền cho hàm

'debug' => env['APP_DEBUG', false],

5 là "giá trị mặc định". Giá trị này sẽ được trả về nếu không có biến môi trường nào tồn tại cho khóa đã cho

Xác định môi trường hiện tại

Môi trường ứng dụng hiện tại được xác định thông qua biến

'debug' => env['APP_DEBUG', false],

9 từ tệp

'debug' => env['APP_DEBUG', false],

2 của bạn. Bạn có thể truy cập giá trị này thông qua phương pháp

'debug' => env['APP_DEBUG', false],

83 trên mặt tiền

'debug' => env['APP_DEBUG', false],

84

APP_NAME="My Application"

3

Bạn cũng có thể truyền đối số cho phương thức

'debug' => env['APP_DEBUG', false],

83 để xác định xem môi trường có khớp với một giá trị nhất định hay không. Phương thức sẽ trả về

'debug' => env['APP_DEBUG', false],

86 nếu môi trường khớp với bất kỳ giá trị nào đã cho

'debug' => env['APP_DEBUG', false],

8

Lưu ý
Có thể ghi đè phát hiện môi trường ứng dụng hiện tại bằng cách xác định biến môi trường

'debug' => env['APP_DEBUG', false],

9 cấp máy chủ.

Mã hóa tập tin môi trường

Các tệp môi trường không được mã hóa sẽ không bao giờ được lưu trữ trong kiểm soát nguồn. Tuy nhiên, Laravel cho phép bạn mã hóa các tệp môi trường của mình để chúng có thể được thêm vào kiểm soát nguồn một cách an toàn với phần còn lại của ứng dụng của bạn

mã hóa

Để mã hóa tệp môi trường, bạn có thể sử dụng lệnh

'debug' => env['APP_DEBUG', false],

88

Chạy lệnh

'debug' => env['APP_DEBUG', false],

88 sẽ mã hóa tệp

'debug' => env['APP_DEBUG', false],

2 của bạn và đặt nội dung được mã hóa vào tệp

php artisan about --only=environment

81. Khóa giải mã được trình bày trong đầu ra của lệnh và phải được lưu trữ trong trình quản lý mật khẩu an toàn. Nếu bạn muốn cung cấp khóa mã hóa của riêng mình, bạn có thể sử dụng tùy chọn

php artisan about --only=environment

82 khi gọi lệnh

php artisan about --only=environment

8

Lưu ý
Độ dài của khóa được cung cấp phải khớp với độ dài của khóa theo yêu cầu của mật mã mã hóa đang được sử dụng. Theo mặc định, Laravel sẽ sử dụng mã hóa

php artisan about --only=environment

83 yêu cầu khóa 32 ký tự. Bạn có thể tự do sử dụng bất kỳ mật mã nào được hỗ trợ bởi bộ mã hóa của Laravel bằng cách chuyển tùy chọn

php artisan about --only=environment

84 khi gọi lệnh.

Nếu ứng dụng của bạn có nhiều tệp môi trường, chẳng hạn như

'debug' => env['APP_DEBUG', false],

2 và

php artisan about --only=environment

86, thì bạn có thể chỉ định tệp môi trường sẽ được mã hóa bằng cách cung cấp tên môi trường thông qua tùy chọn

APP_NAME="My Application"

30

'debug' => env['APP_DEBUG', false],

6

giải mã

Để giải mã tệp môi trường, bạn có thể sử dụng lệnh

php artisan about --only=environment

88. Lệnh này yêu cầu khóa giải mã, mà Laravel sẽ lấy từ biến môi trường

php artisan about --only=environment

89

Hoặc, khóa có thể được cung cấp trực tiếp cho lệnh thông qua tùy chọn

php artisan about --only=environment

82

'debug' => env['APP_DEBUG', false],

0

Khi lệnh

php artisan about --only=environment

88 được gọi, Laravel sẽ giải mã nội dung của tệp

php artisan about --only=environment

81 và đặt nội dung đã giải mã vào tệp

'debug' => env['APP_DEBUG', false],

2

Tùy chọn

php artisan about --only=environment

84 có thể được cung cấp cho lệnh

php artisan about --only=environment

88 để sử dụng mật mã mã hóa tùy chỉnh

'debug' => env['APP_DEBUG', false],

6

Nếu ứng dụng của bạn có nhiều tệp môi trường, chẳng hạn như

'debug' => env['APP_DEBUG', false],

2 và

php artisan about --only=environment

86, thì bạn có thể chỉ định tệp môi trường sẽ được giải mã bằng cách cung cấp tên môi trường thông qua tùy chọn

APP_NAME="My Application"

30

'debug' => env['APP_DEBUG', false],

0

Để ghi đè lên tệp môi trường hiện có, bạn có thể cung cấp tùy chọn

'debug' => env['APP_DEBUG', false],

69 cho lệnh

php artisan about --only=environment

88

APP_NAME="My Application"

0

Truy cập giá trị cấu hình

Bạn có thể dễ dàng truy cập các giá trị cấu hình của mình bằng hàm toàn cầu

APP_NAME="My Application"

8 từ bất kỳ đâu trong ứng dụng của bạn. Các giá trị cấu hình có thể được truy cập bằng cú pháp "dấu chấm", bao gồm tên của tệp và tùy chọn bạn muốn truy cập. Giá trị mặc định cũng có thể được chỉ định và sẽ được trả về nếu tùy chọn cấu hình không tồn tại

APP_NAME="My Application"

1

Để đặt giá trị cấu hình trong thời gian chạy, hãy chuyển một mảng tới hàm

APP_NAME="My Application"

8

APP_NAME="My Application"

2

Bộ nhớ đệm cấu hình

Để tăng tốc độ cho ứng dụng của bạn, bạn nên lưu trữ tất cả các tệp cấu hình của mình vào một tệp duy nhất bằng cách sử dụng lệnh Artisan

'debug' => env['APP_DEBUG', false],

03. Điều này sẽ kết hợp tất cả các tùy chọn cấu hình cho ứng dụng của bạn thành một tệp duy nhất mà khung có thể tải nhanh chóng

Thông thường, bạn nên chạy lệnh

'debug' => env['APP_DEBUG', false],

04 như một phần của quy trình triển khai sản xuất của mình. Không nên chạy lệnh trong quá trình phát triển cục bộ vì các tùy chọn cấu hình sẽ thường xuyên cần được thay đổi trong quá trình phát triển ứng dụng của bạn

Cảnh báo
Nếu bạn thực thi lệnh

'debug' => env['APP_DEBUG', false],

03 trong quá trình triển khai của mình, bạn nên đảm bảo rằng mình chỉ gọi hàm

'debug' => env['APP_DEBUG', false],

5 từ bên trong các tệp cấu hình của mình. Khi cấu hình đã được lưu vào bộ đệm, tệp

'debug' => env['APP_DEBUG', false],

2 sẽ không được tải; .

Chế độ kiểm tra sửa lỗi

Tùy chọn

'debug' => env['APP_DEBUG', false],

09 trong tệp cấu hình

'debug' => env['APP_DEBUG', false],

60 của bạn xác định lượng thông tin về lỗi thực sự được hiển thị cho người dùng. Theo mặc định, tùy chọn này được đặt để tôn trọng giá trị của biến môi trường

'debug' => env['APP_DEBUG', false],

61, được lưu trữ trong tệp

'debug' => env['APP_DEBUG', false],

2 của bạn

Để phát triển cục bộ, bạn nên đặt biến môi trường

'debug' => env['APP_DEBUG', false],

61 thành

'debug' => env['APP_DEBUG', false],

86. Trong môi trường sản xuất của bạn, giá trị này phải luôn là

'debug' => env['APP_DEBUG', false],

65. Nếu biến được đặt thành

'debug' => env['APP_DEBUG', false],

86 trong quá trình sản xuất, bạn có nguy cơ để lộ các giá trị cấu hình nhạy cảm cho người dùng cuối của ứng dụng

Chế độ bảo trì

Khi ứng dụng của bạn ở chế độ bảo trì, chế độ xem tùy chỉnh sẽ được hiển thị cho tất cả các yêu cầu trong ứng dụng của bạn. Điều này giúp dễ dàng "vô hiệu hóa" ứng dụng của bạn khi nó đang cập nhật hoặc khi bạn đang bảo trì. Kiểm tra chế độ bảo trì được bao gồm trong ngăn xếp phần mềm trung gian mặc định cho ứng dụng của bạn. Nếu ứng dụng đang ở chế độ bảo trì, một phiên bản

'debug' => env['APP_DEBUG', false],

67 sẽ được đưa ra với mã trạng thái là 503

Để bật chế độ bảo trì, hãy thực hiện lệnh

'debug' => env['APP_DEBUG', false],

68 Artisan

Nếu bạn muốn tiêu đề HTTP

'debug' => env['APP_DEBUG', false],

69 được gửi cùng với tất cả các phản hồi ở chế độ bảo trì, bạn có thể cung cấp tùy chọn

'debug' => env['APP_DEBUG', false],

00 khi gọi lệnh

'debug' => env['APP_DEBUG', false],

68. Tiêu đề

'debug' => env['APP_DEBUG', false],

69 sẽ hướng dẫn trình duyệt tự động làm mới trang sau số giây được chỉ định

APP_NAME="My Application"

3

Bạn cũng có thể cung cấp tùy chọn

'debug' => env['APP_DEBUG', false],

03 cho lệnh

'debug' => env['APP_DEBUG', false],

68, tùy chọn này sẽ được đặt làm giá trị của tiêu đề HTTP

'debug' => env['APP_DEBUG', false],

05, mặc dù các trình duyệt thường bỏ qua tiêu đề này

Bỏ qua chế độ bảo trì

Để cho phép bỏ qua chế độ bảo trì bằng mã thông báo bí mật, bạn có thể sử dụng tùy chọn

'debug' => env['APP_DEBUG', false],

06 để chỉ định mã thông báo bỏ qua chế độ bảo trì

APP_NAME="My Application"

4

Sau khi đặt ứng dụng ở chế độ bảo trì, bạn có thể điều hướng đến URL ứng dụng khớp với mã thông báo này và Laravel sẽ cấp cookie bỏ qua chế độ bảo trì cho trình duyệt của bạn

APP_NAME="My Application"

5

Khi truy cập vào route ẩn này, bạn sẽ được chuyển đến route

'debug' => env['APP_DEBUG', false],

07 của ứng dụng. Khi cookie đã được cấp cho trình duyệt của bạn, bạn sẽ có thể duyệt ứng dụng bình thường như thể nó không ở chế độ bảo trì

Lưu ý
Bí mật chế độ bảo trì của bạn thường phải bao gồm các ký tự chữ và số và, tùy chọn, dấu gạch ngang. Bạn nên tránh sử dụng các ký tự có ý nghĩa đặc biệt trong URL, chẳng hạn như

'debug' => env['APP_DEBUG', false],

08.

Kết xuất trước Chế độ xem chế độ bảo trì

Nếu bạn sử dụng lệnh

'debug' => env['APP_DEBUG', false],

09 trong quá trình triển khai, đôi khi người dùng của bạn vẫn có thể gặp lỗi nếu họ truy cập ứng dụng trong khi các thành phần phụ thuộc Trình soạn thảo hoặc các thành phần cơ sở hạ tầng khác của bạn đang cập nhật. Điều này xảy ra do một phần quan trọng của khung Laravel phải khởi động để xác định ứng dụng của bạn đang ở chế độ bảo trì và hiển thị chế độ xem chế độ bảo trì bằng cách sử dụng công cụ tạo khuôn mẫu

Vì lý do này, Laravel cho phép bạn kết xuất trước chế độ xem chế độ bảo trì sẽ được trả về ngay khi bắt đầu chu kỳ yêu cầu. Chế độ xem này được hiển thị trước khi bất kỳ phần phụ thuộc nào của ứng dụng của bạn được tải. Bạn có thể kết xuất trước một mẫu bạn chọn bằng cách sử dụng tùy chọn

APP_NAME="My Application"

01 của lệnh

'debug' => env['APP_DEBUG', false],

68

APP_NAME="My Application"

6

Chuyển hướng yêu cầu chế độ bảo trì

Trong khi ở chế độ bảo trì, Laravel sẽ hiển thị chế độ xem chế độ bảo trì cho tất cả các URL ứng dụng mà người dùng cố gắng truy cập. Nếu muốn, bạn có thể hướng dẫn Laravel chuyển hướng tất cả các yêu cầu đến một URL cụ thể. Điều này có thể được thực hiện bằng cách sử dụng tùy chọn

APP_NAME="My Application"

02. Ví dụ: bạn có thể muốn chuyển hướng tất cả các yêu cầu đến URI

'debug' => env['APP_DEBUG', false],

07

APP_NAME="My Application"

7

Tắt chế độ bảo trì

Để tắt chế độ bảo trì, hãy sử dụng lệnh

APP_NAME="My Application"

04

Lưu ý
Bạn có thể tùy chỉnh mẫu chế độ bảo trì mặc định bằng cách xác định mẫu của riêng mình tại

APP_NAME="My Application"

05.

Chế độ bảo trì & hàng đợi

Trong khi ứng dụng của bạn ở chế độ bảo trì, sẽ không có công việc xếp hàng nào được xử lý. Các công việc sẽ tiếp tục được xử lý như bình thường sau khi ứng dụng thoát khỏi chế độ bảo trì

Các lựa chọn thay thế cho chế độ bảo trì

Vì chế độ bảo trì yêu cầu ứng dụng của bạn có vài giây thời gian ngừng hoạt động, hãy xem xét các lựa chọn thay thế như Laravel Vapor và Envoyer để hoàn thành việc triển khai không có thời gian ngừng hoạt động với Laravel

Làm cách nào để đọc tệp env trong Laravel?

Chúng ta có thể truy cập biến cấu hình bằng trình trợ giúp env[]. .
cú pháp. env['VARIABLE_NAME'];
Thí dụ. env['APP_URL'];
tập tin lưỡi. @if [env['APP_ENV'] == 'cục bộ'].
Tập tin điều khiển. đọc thêm. Cách nhận truy vấn được thực hiện lần cuối trong Laravel?

Làm cách nào để nhận giá trị env trong Laravel 8?

env['VARIABLE_NAME']; . chỉ cần đặt cùng một dòng trong của bạn. .
Google_API_Key=XXXXX. Truy cập đặt biến trong. .
env['Google_API_Key'];
@if[env['APP_ENV'] == 'local'] Khớp @endif. Bộ điều khiển
if[env['APP_ENV'] == 'local'] { echo 'Match';

Tệp env ở đâu trong Laravel 8?

Trong bản cài đặt Laravel mới, thư mục gốc của ứng dụng của bạn sẽ chứa một. env. tệp ví dụ xác định nhiều biến môi trường phổ biến.

Làm cách nào để đặt giá trị env trong Laravel?

để tìm nạp các biến môi trường bằng env[]. Phương thức env[] giúp bạn tìm nạp các giá trị được đặt cho các biến môi trường trong. tập tin env. Bạn có thể chuyển tên biến cho phương thức env[] và nó sẽ trả về cho bạn giá trị được đặt trong. tệp env .

Chủ Đề