Thay đổi env của Laravel không phản ánh

Khi bạn đã sẵn sàng để triển khai ứng dụng Laravel của mình vào sản xuất, có một số điều quan trọng bạn có thể làm để đảm bảo ứng dụng của mình đang chạy hiệu quả nhất có thể. Trong tài liệu này, chúng tôi sẽ đề cập đến một số điểm khởi đầu tuyệt vời để đảm bảo ứng dụng Laravel của bạn được triển khai đúng cách

Yêu cầu máy chủ

Laravel framework có một vài yêu cầu hệ thống. Bạn nên đảm bảo rằng máy chủ web của mình có phiên bản PHP tối thiểu sau đây và các tiện ích mở rộng

  • PHP >= 8. 0
  • Phần mở rộng BCMath PHP
  • Tiện ích mở rộng Ctype PHP
  • Tiện ích mở rộng cURL PHP
  • Phần mở rộng DOM PHP
  • Tiện ích mở rộng Fileinfo PHP
  • Tiện ích mở rộng PHP JSON
  • Tiện ích mở rộng Mbstring PHP
  • Tiện ích mở rộng OpenSSL PHP
  • Phần mở rộng PCRE PHP
  • Phần mở rộng PDO PHP
  • Tiện ích mở rộng mã thông báo PHP
  • Tiện ích mở rộng XML PHP

Cấu hình máy chủ

Nginx

Nếu bạn đang triển khai ứng dụng của mình tới một máy chủ đang chạy Nginx, bạn có thể sử dụng tệp cấu hình sau làm điểm bắt đầu để định cấu hình máy chủ web của mình. Rất có thể, tệp này sẽ cần được tùy chỉnh tùy thuộc vào cấu hình máy chủ của bạn. Nếu bạn muốn được hỗ trợ trong việc quản lý máy chủ của mình, hãy cân nhắc sử dụng dịch vụ triển khai và quản lý máy chủ Laravel của bên thứ nhất, chẳng hạn như Laravel Forge

Hãy đảm bảo, giống như cấu hình bên dưới, máy chủ web của bạn hướng tất cả các yêu cầu đến tệp public/index.php của ứng dụng của bạn. Bạn không bao giờ nên cố gắng di chuyển tệp

composer install --optimize-autoloader --no-dev

0 vào thư mục gốc của dự án, vì việc cung cấp ứng dụng từ thư mục gốc của dự án sẽ làm lộ nhiều tệp cấu hình nhạy cảm ra Internet công cộng

root /srv/example.com/public;

add_header X-Frame-Options "SAMEORIGIN";

add_header X-Content-Type-Options "nosniff";

try_files $uri $uri/ /index.php?$query_string;

location = /favicon.ico { access_log off; log_not_found off; }

location = /robots.txt { access_log off; log_not_found off; }

error_page 404 /index.php;

fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;

location ~ /\.[?!well-known].* {

Tối ưu hóa

Tối ưu hóa trình tải tự động

Khi triển khai vào sản xuất, hãy đảm bảo rằng bạn đang tối ưu hóa bản đồ trình tải tự động lớp của Trình soạn thảo để Trình soạn thảo có thể nhanh chóng tìm thấy tệp thích hợp để tải cho một lớp nhất định

composer install --optimize-autoloader --no-dev

Lưu ý
Ngoài việc tối ưu hóa trình tải tự động, bạn phải luôn đảm bảo bao gồm tệp

composer install --optimize-autoloader --no-dev

1 trong kho lưu trữ kiểm soát nguồn của dự án. Các phần phụ thuộc của dự án của bạn có thể được cài đặt nhanh hơn nhiều khi có tệp

composer install --optimize-autoloader --no-dev

1.

Tối ưu hóa tải cấu hình

Khi triển khai ứng dụng của bạn vào sản xuất, bạn nên đảm bảo rằng bạn chạy lệnh Artisan

composer install --optimize-autoloader --no-dev

3 trong quá trình triển khai của mình

Lệnh này sẽ kết hợp tất cả các tệp cấu hình của Laravel thành một tệp duy nhất, được lưu trong bộ nhớ cache, giúp giảm đáng kể số lần truy cập mà khung phải thực hiện đối với hệ thống tệp khi tải các giá trị cấu hình của bạn

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

composer install --optimize-autoloader --no-dev

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

composer install --optimize-autoloader --no-dev

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

composer install --optimize-autoloader --no-dev

6 sẽ không được tải và tất cả các lệnh gọi hàm

composer install --optimize-autoloader --no-dev

5 cho các biến

composer install --optimize-autoloader --no-dev

6 sẽ trả về

composer install --optimize-autoloader --no-dev

2.

Tối ưu hóa tải tuyến đường

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 lệnh Artisan

composer install --optimize-autoloader --no-dev

3 trong quá trình triển khai của mình

Lệnh này giảm tất cả các đăng ký tuyến đường 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 đường khi đăng ký hàng trăm tuyến đường

Tối ưu hóa lượt xem đang tải

Khi triển khai ứng dụng của bạn vào sản xuất, bạn nên đảm bảo rằng bạn chạy lệnh Artisan

composer install --optimize-autoloader --no-dev

4 trong quá trình triển khai của mình

Lệnh này biên dịch trước tất cả các chế độ xem Blade của bạn để chúng không được biên dịch theo yêu cầu, cải thiện hiệu suất của từng yêu cầu trả về một chế độ xem

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

Tùy chọn gỡ lỗi trong cấu hình/ứng dụng của bạn. tệp cấu hình php 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

composer install --optimize-autoloader --no-dev

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

composer install --optimize-autoloader --no-dev

6 của ứng dụng của bạn

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

composer install --optimize-autoloader --no-dev

7. Nếu biến

composer install --optimize-autoloader --no-dev

5 được đặt thành

composer install --optimize-autoloader --no-dev

9 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

Triển khai với Forge/Vapor

Lò rèn Laravel

Nếu bạn chưa sẵn sàng để quản lý cấu hình máy chủ của riêng mình hoặc không thoải mái khi định cấu hình tất cả các dịch vụ khác nhau cần thiết để chạy một ứng dụng Laravel mạnh mẽ, thì Laravel Forge là một giải pháp thay thế tuyệt vời

Laravel Forge có thể tạo máy chủ trên nhiều nhà cung cấp cơ sở hạ tầng khác nhau như DigitalOcean, Linode, AWS, v.v. Ngoài ra, Forge cài đặt và quản lý tất cả các công cụ cần thiết để xây dựng các ứng dụng Laravel mạnh mẽ, chẳng hạn như Nginx, MySQL, Redis, Memcached, Beanstalk, v.v.

Lưu ý Muốn có hướng dẫn đầy đủ để triển khai với Laravel Forge?

hơi Laravel

Nếu bạn muốn một nền tảng triển khai hoàn toàn không có máy chủ, tự động điều chỉnh quy mô cho Laravel, hãy xem Laravel Vapor. Laravel Vapor là một nền tảng triển khai serverless dành cho Laravel, được cung cấp bởi AWS. Khởi chạy cơ sở hạ tầng Laravel của bạn trên Vapor và yêu thích sự đơn giản có thể mở rộng của serverless. Laravel Vapor được những người sáng tạo của Laravel tinh chỉnh để hoạt động trơn tru với framework, do đó bạn có thể tiếp tục viết các ứng dụng Laravel của mình chính xác như bạn đã quen

Làm cách nào để đặt biến môi trường trong Laravel một cách linh hoạt?

Một cách đơn giản để cập nhật. giá trị khóa env trong laravel là thêm đoạn mã dưới đây vào hàm điều khiển nơi bạn muốn thay đổi . giá trị env. $key = 'VARIABLE_NAME'; .

Tại sao lại là. Không tìm thấy tệp ENV?

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 .

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?

Laravel có cần một. Tập tin ENV?

Để dễ dàng thực hiện điều này, 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 một. env. tệp ví dụ xác định nhiều biến môi trường phổ biến. Trong quá trình cài đặt Laravel, tập tin này sẽ tự động được sao chép vào. env.

Chủ Đề