Nếu tất cả các giá trị được mô tả chính xác trong
{{ env['DB_CONNECTION', 'default']}}
{{ env['DB_HOST', 'default']}}
{{ env['DB_PORT', 'default'] }}
4, nhưng màn hình của trình duyệt là null [mặc định trong các cài đặt ở trên], lệnh này có thể đã được thực thiNghệ nhân php .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
1 là gì?Một lệnh cho môi trường sản xuất tăng tốc bằng cách kết hợp tất cả các tệp cấu hình thành một
Khi bạn đang phát triển một ứng dụng web, bạn thường có các môi trường khác nhau để kiểm tra ứng dụng web của mình. Ví dụ
- Địa phương hoặc Phát triển
- dàn dựng
- Sản xuất
Bạn cũng có thể có các nhà phát triển khác nhau làm việc trên cùng một ứng dụng và họ có thể cần đặt môi trường của mình khác với những người khác. Do đó, laravel cung cấp cho bạn. env hoạt động trên các môi trường khác nhau
Ghi chú. . tệp env không nên được cam kết với dự án git
Tệp .env
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 tùy thuộc vào 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
Laravel cũng cung cấp cho bạn. env. tệp ví dụ nơi bạn chỉ có thể đặt các khóa giữ chỗ để các nhà phát triển hoặc môi trường khác nhau có thể sử dụng các giá trị khác nhau tùy theo nhu cầu của họ
Không thêm thông tin nhạy cảm trong. env hoặc. env. tệp ví dụ sẽ tạo ra sự cố bảo mật và một số tin tặc có thể dễ dàng đánh hơi loại dữ liệu này từ kho lưu trữ của bạn
Xét sơ đồ sau
Bạn có ba môi trường web khác nhau để kiểm tra ứng dụng của mình. Ví dụ. dev/local, dàn dựng hoặc sản xuất. Mỗi môi trường của bạn đang sử dụng khác nhau. env vì chúng tôi không cam kết. env, bạn phải tạo tệp này theo cách thủ công trên từng môi trường
Bây giờ, chúng tôi đã đặt biến APP_ENV của mình trên từng môi trường với các giá trị khác nhau. Giả sử bạn muốn chạy logic nhất định khi env là dàn hoặc cục bộ, bạn có thể sử dụng hàm laravel sau để kiểm tra môi trường
if [App::environment['prduction']] {
// The environment is production
// Run your production env specific logic here
}
if [App::environment[['local', 'staging']]] {
// The environment is either local OR staging...
// Run your ocal OR staging env specific logic here
}
Cách lấy khóa cụ thể từ. env trong Laravel 8?
Giả sử bạn có các khóa/giá trị sau được xác định trong. tập tin env
DB_PORT=3306
DB_HOST=mysql
DB_USERNAME=sail
DB_CONNECTION=mysql
DB_PASSWORD=password
DB_DATABASE=example_app
Bây giờ, nếu bạn muốn sử dụng một trong các khóa trên trong bộ điều khiển của mình hoặc bất kỳ lớp hoặc tệp nào khác, bạn có thể sử dụng hàm sau để tìm nạp giá trị
# print the value of DB_HOST
echo env['DB_HOST', false];
Giá trị thứ hai được chuyển đến hàm env
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
Các tệp cấu hình trong Laravel 8 là gì?
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
Tất cả các tệp cấu hình cho khung Laravel được lưu trữ trong thư mục config
Tập tin cấu hình sử dụng. biến env để tìm nạp cấu hình động. Ví dụ. cấu hình cơ sở dữ liệu của bạn có thể khác trên cục bộ, dàn dựng hoặc trên máy chủ sản xuất tùy thuộc vào những gì được lưu trữ bên trong. env trong mỗi môi trường
Nếu bạn mở config/database. php, nó có thể trông giống như sau
Chú ý dòng sau
# if DB_CONNECTION variable is defined in .env
# file than it uses that value otherwise it uses mysql
# as default value
env['DB_CONNECTION', 'mysql'];
Làm cách nào để tìm nạp cấu hình trong Laravel 8?
Bây giờ, bạn đã biết tất cả các tệp cấu hình được lưu trữ trong thư mục cấu hình trong dự án laravel 8. Bạn đang tự hỏi làm cách nào để tìm nạp các cấu hình được xác định trong các tệp cấu hình này
Trong tên tệp cấu hình laravel được sử dụng làm khóa và sau đó bất kỳ biến nào được xác định trong tệp đó đều có thể được truy cập bằng cách sử dụng ký hiệu dấu chấm. Ví dụ
# fetch database default config $databaseDefaultKeyValue = config['database.default']; # fetch current app timezone $timezone = config['app.timezone', 'Asia/Seoul'];
Cũng có thể bạn cũng có thể ghi đè các giá trị này một cách nhanh chóng bằng cách sử dụng ví dụ sau
# override what is defined in config/app.php => timezone key
config[['app.timezone' => 'America/Chicago']];
Làm cách nào để cache cấu hình Laravel 8?
Để tăng cường ứng dụng laravel của bạn bằng cách lưu trữ cấu hình đã lưu trong bộ nhớ cache, bạn có thể sử dụng lệnh sau
________số 8_______Làm cách nào để ẩn lỗi trong môi trường sản xuất?
Tùy chọn __
DB_PORT=3306
DB_HOST=mysql
DB_USERNAME=sail
DB_CONNECTION=mysql
DB_PASSWORD=password
DB_DATABASE=example_app
0 trong tệp cấu hình DB_PORT=3306
DB_HOST=mysql
DB_USERNAME=sail
DB_CONNECTION=mysql
DB_PASSWORD=password
DB_DATABASE=example_app
1 của bạn xác định lượng thông tin về một 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 DB_PORT=3306
DB_HOST=mysql
DB_USERNAME=sail
DB_CONNECTION=mysql
DB_PASSWORD=password
DB_DATABASE=example_app
2, được lưu trữ trong tệp .env
của bạnTheo tài liệu về ấu trùng
Để phát triển cục bộ, bạn nên đặt biến môi trường APP_DEBUG thành true. Trong môi trường sản xuất của bạn, giá trị này phải luôn sai. Nếu biến được đặt thành true 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
env[] trong Laravel là gì?
Mặc định của Laravel. env chứa một số giá trị cấu hình phổ biến có thể khác nhau tùy thuộc vào 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 cấu hình bằng hàm env của Laravel.Làm cách nào để sử dụng giá trị 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'];Ví 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ểnif[env['APP_ENV'] == 'local'] { echo 'Match';Tại sao lại là. tập tin env không tìm thấy?
Tóm lại, '. env' không hiển thị trong cPanel có thể xảy ra khi tùy chọn “hiển thị các tệp ẩn” bị tắt trong Trình quản lý tệp .