Xóa cấu hình php artisan làm gì?

Nó xóa bộ đệm cấu hình và lưu lại bộ đệm lại. Nó cũng sẽ xóa bộ đệm tuyến đường. và sau đó lưu trữ lại các tuyến đường và cả các tệp

Nếu bạn đã làm

php artisan route:cache

Và muốn xóa các tuyến đã lưu trong bộ nhớ cache, bạn chỉ cần thực hiện

php artisan route:clear

Đối với tập tin cấu hình bạn có thể làm

php artisan config:clear

Để xem các tập tin bạn có thể làm

php artisan view:clear

Thay thế

Thư mục này là nơi chứa tất cả các tệp được lưu trong bộ nhớ cache trong bất kỳ dự án Laravel nào

bootstrap/cache/

Xóa tệp này sẽ xóa bộ đệm tuyến trên máy chủ của bạn

bootstrap/cache/routes.php

Một sự thay thế khác

Bạn có thể chỉ định xóa tệp bộ đệm cho bộ điều khiển hoặc chạy nội bộ

Bạn chỉ cần đặt dòng sau vào một hành động trong bộ điều khiển và gọi phương thức đó ở một trong các tuyến của bạn

\Artisan::call['route:clear'];

Tối ưu hóa Tải tuyến đường là điều bắt buộc đối với sản xuất

Những ưu điểm là khá rõ ràng. Sau khi lưu vào bộ nhớ đệm, trang web của bạn sẽ nhanh hơn

Nếu bạn đang xây dựng một ứng dụng lớn với nhiều tuyến đường, bạn nên đảm bảo rằng bạn đang chạy tuyến đường. bộ đệm lệnh Artisan trong quá trình triển khai của bạn sẽ cập nhật tệp được lưu trong bộ nhớ cache

Bạn có thể chạy lệnh này trên máy chủ

php artisan route:cache

Hoặc nếu bạn chạy lệnh trên trong máy cục bộ của mình, bạn chỉ cần tải tệp này lên máy chủ của mình bootstrap/cache/routes.php

Bộ nhớ đệm các tuyến giảm tất cả các đăng ký tuyến của bạn thành một cuộc gọi phương thức duy nhất trong một tệp được lưu trong bộ nhớ cache để cải thiện hiệu suất đăng ký tuyến khi đăng ký hàng trăm tuyến

Nhược điểm của caching route là một khi bạn cache các route của trang web, bạn phải cache lại các route của mình mỗi khi bạn thực hiện bất kỳ thay đổi nào đối với

php artisan route:cache
0, nếu không các thay đổi sẽ không hiển thị

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 hãy thoải mái 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 cách sử dụ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 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

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

Ghi chú
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 đượ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 một 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ã tích hợp sẵn 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 hay đối số CLI

use Illuminate\Support\Facades\App;

$environment = App::environment[];

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

use Illuminate\Support\Facades\App;

$environment = App::environment[];

1 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, vì vậy, 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

use Illuminate\Support\Facades\App;

$environment = App::environment[];

4

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

2 Giá trị

use Illuminate\Support\Facades\App;

$environment = App::environment[];

4 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ầu PHP

use Illuminate\Support\Facades\App;

$environment = App::environment[];

8 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 chuyển đến 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

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

3 trên mặt tiền

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

4

use Illuminate\Support\Facades\App;

$environment = App::environment[];

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

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

3 để 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ề

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

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

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

Ghi chú
Phát hiện môi trường ứng dụng hiện tại có thể được ghi đè 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

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

8

Chạy lệnh

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

8 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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

1. 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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

2 khi gọi lệnh

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

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

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

3 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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

4 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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

6, 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

use Illuminate\Support\Facades\App;

$environment = App::environment[];

0

php artisan env:encrypt --env=staging

giải mã

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

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

8. 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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

9

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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

2

php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

Khi lệnh

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

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

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

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

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

2

Tùy chọn

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

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

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

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 env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

6, 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

use Illuminate\Support\Facades\App;

$environment = App::environment[];

0

php artisan env:decrypt --env=staging

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

php artisan env:encrypt --env=staging

9 cho lệnh

php artisan env:encrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

8

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 cách sử dụng hàm

APP_NAME="My Application"

8 toàn cầu 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

php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

3. Đ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

php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

4 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

php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

3 trong quá trình triển khai của mình, bạn nên đảm bảo rằng bạn chỉ đang 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

php artisan env:decrypt --key=3UVsEgGVK36XN82KKeyLFMhvosbZN1aF

9 trong tệp cấu hình

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

0 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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

1, đượ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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

1 thành

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

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

if [App::environment['local']] {

// The environment is local

if [App::environment[['local', 'staging']]] {

// The environment is either local OR staging...

6 trong 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 ứng dụng của mình

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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

7 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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

8 Artisan

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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

9 đượ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

php artisan env:decrypt --env=staging

0 khi gọi lệnh

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

8. Tiêu đề

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

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

APP_NAME="My Application"

3

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

php artisan env:decrypt --env=staging

3 cho lệnh

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

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

php artisan env:decrypt --env=staging

5, 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 cách sử dụng mã thông báo bí mật, bạn có thể sử dụng tùy chọn

php artisan env:decrypt --env=staging

6 để 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 của ứ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

php artisan env:decrypt --env=staging

7 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ì

Ghi chú
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ư

php artisan env:decrypt --env=staging

8

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

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

php artisan env:decrypt --env=staging

9 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 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

php artisan env:decrypt --key=qUWuNRdfuImXcKxZ --cipher=AES-128-CBC

8

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

php artisan env:decrypt --env=staging

7

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

Ghi chú
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 bạn tại

APP_NAME="My Application"

05

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

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

Chủ Đề