Liệt kê các phiên bản php ubuntu
Laravel Sail là giao diện dòng lệnh nhẹ để tương tác với môi trường phát triển Docker mặc định của Laravel. Sail cung cấp một điểm khởi đầu tuyệt vời để xây dựng ứng dụng Laravel bằng PHP, MySQL và Redis mà không yêu cầu kinh nghiệm Docker trước đó Show
Về bản chất, Sail là tệp 8 và tập lệnh 9 được lưu trữ ở thư mục gốc của dự án của bạn. Tập lệnh 9 cung cấp CLI với các phương thức thuận tiện để tương tác với các bộ chứa Docker được xác định bởi tệp 8Laravel Sail được hỗ trợ trên macOS, Linux và Windows (thông qua WSL2) Cài đặt & Thiết lậpLaravel Sail được cài đặt tự động với tất cả các ứng dụng Laravel mới nên bạn có thể bắt đầu sử dụng ngay lập tức. Để tìm hiểu cách tạo một ứng dụng Laravel mới, vui lòng tham khảo tài liệu cài đặt của Laravel cho hệ điều hành của bạn. Trong quá trình cài đặt, bạn sẽ được yêu cầu chọn dịch vụ nào được Sail hỗ trợ mà ứng dụng của bạn sẽ tương tác Cài đặt Sail vào các ứng dụng hiện cóNếu bạn quan tâm đến việc sử dụng Sail với ứng dụng Laravel hiện có, bạn có thể chỉ cần cài đặt Sail bằng trình quản lý gói Composer. Tất nhiên, các bước này giả định rằng môi trường phát triển cục bộ hiện tại của bạn cho phép bạn cài đặt các phụ thuộc Trình soạn thảo
Sau khi Sail đã được cài đặt, bạn có thể chạy lệnh Artisan 2. Lệnh này sẽ xuất bản tệp 8 của Sail vào thư mục gốc của ứng dụng của bạnCuối cùng, bạn có thể bắt đầu Sail. Để tiếp tục học cách sử dụng Sail, vui lòng đọc tiếp phần còn lại của tài liệu này Sử dụng DevcontainerNếu bạn muốn phát triển trong Devcontainer, bạn có thể cung cấp tùy chọn 4 cho lệnh 2. Tùy chọn 4 sẽ hướng dẫn lệnh 2 xuất bản tệp 8 mặc định vào thư mục gốc của ứng dụng của bạn
Định cấu hình Bí danh ShellTheo mặc định, các lệnh Sail được gọi bằng cách sử dụng tập lệnh 9 có trong tất cả các ứng dụng Laravel mớiTuy nhiên, thay vì gõ liên tục 9 để thực hiện các lệnh của Sail, bạn có thể định cấu hình bí danh trình bao cho phép bạn thực hiện các lệnh của Sail dễ dàng hơn
Để đảm bảo cái này luôn khả dụng, bạn có thể thêm cái này vào tệp cấu hình shell trong thư mục chính của bạn, chẳng hạn như 61 hoặc 62, sau đó khởi động lại shell của bạnSau khi bí danh shell đã được cấu hình, bạn có thể thực thi các lệnh Sail bằng cách chỉ cần gõ 9. Phần còn lại của các ví dụ trong tài liệu này sẽ cho rằng bạn đã cấu hình bí danh nàyBắt đầu và dừng buồmTệp 8 của Laravel Sail xác định nhiều Docker container hoạt động cùng nhau để giúp bạn xây dựng các ứng dụng Laravel. Mỗi vùng chứa này là một mục nhập trong cấu hình 65 của tệp 8 của bạn. Vùng chứa 67 là vùng chứa ứng dụng chính sẽ phục vụ ứng dụng của bạnTrước khi bắt đầu Sail, bạn nên đảm bảo rằng không có máy chủ web hoặc cơ sở dữ liệu nào khác đang chạy trên máy tính cục bộ của bạn. Để bắt đầu tất cả các bộ chứa Docker được xác định trong tệp 8 của ứng dụng của bạn, bạn nên thực hiện lệnh 69Để khởi động tất cả các bộ chứa Docker ở chế độ nền, bạn có thể khởi động Sail ở chế độ "tách rời" Khi các vùng chứa của ứng dụng đã được khởi động, bạn có thể truy cập dự án trong trình duyệt web của mình tại. http. //máy chủ cục bộ Để dừng tất cả các vùng chứa, bạn chỉ cần nhấn Control + C để dừng thực thi vùng chứa. Hoặc, nếu các container đang chạy ẩn, bạn có thể sử dụng lệnh 50Thực thi lệnhKhi sử dụng Laravel Sail, ứng dụng của bạn đang thực thi trong bộ chứa Docker và được cách ly khỏi máy tính cục bộ của bạn. Tuy nhiên, Sail cung cấp một cách thuận tiện để chạy các lệnh khác nhau đối với ứng dụng của bạn, chẳng hạn như các lệnh PHP tùy ý, lệnh Artisan, lệnh Composer và lệnh Node / NPM Khi đọc tài liệu về Laravel, bạn sẽ thường thấy các tham chiếu đến các lệnh Composer, Artisan và Node/NPM mà không tham chiếu đến Sail. Những ví dụ đó giả định rằng những công cụ này được cài đặt trên máy tính cục bộ của bạn. Nếu bạn đang sử dụng Sail cho môi trường phát triển Laravel cục bộ của mình, bạn nên thực thi các lệnh đó bằng Sail 6Thực thi các lệnh PHPCác lệnh PHP có thể được thực thi bằng lệnh 51. Tất nhiên, các lệnh này sẽ thực thi bằng phiên bản PHP được định cấu hình cho ứng dụng của bạn. Để tìm hiểu thêm về các phiên bản PHP có sẵn cho Laravel Sail, hãy tham khảo tài liệu phiên bản PHPThực thi các lệnh của ComposerCác lệnh của trình soạn thảo có thể được thực thi bằng lệnh 52. Bộ chứa ứng dụng của Laravel Sail bao gồm Trình soạn thảo 2. x cài đặt 5Cài đặt phụ thuộc Composer cho các ứng dụng hiện cóNếu bạn đang phát triển một ứng dụng với một nhóm, bạn có thể không phải là người đầu tiên tạo ứng dụng Laravel. Do đó, không có phần phụ thuộc Trình soạn thảo nào của ứng dụng, kể cả Sail, sẽ được cài đặt sau khi bạn sao chép kho lưu trữ của ứng dụng vào máy tính cục bộ của mình Bạn có thể cài đặt các phụ thuộc của ứng dụng bằng cách điều hướng đến thư mục của ứng dụng và thực hiện lệnh sau. Lệnh này sử dụng một Docker container nhỏ chứa PHP và Composer để cài đặt các phần phụ thuộc của ứng dụng 0Khi sử dụng hình ảnh 53, bạn nên sử dụng cùng một phiên bản PHP mà bạn dự định sử dụng cho ứng dụng của mình ( 54, 55 hoặc 56)Thực hiện lệnh thủ côngCác lệnh Laravel Artisan có thể được thực thi bằng lệnh 57Thực thi các lệnh Node / NPMCác lệnh nút có thể được thực thi bằng lệnh 58 trong khi các lệnh NPM có thể được thực thi bằng lệnh 59Nếu muốn, bạn có thể sử dụng Sợi thay vì NPM Tương tác với cơ sở dữ liệumysqlNhư bạn có thể nhận thấy, tệp 8 của ứng dụng của bạn chứa một mục nhập cho vùng chứa MySQL. Vùng chứa này sử dụng ổ đĩa Docker để dữ liệu được lưu trữ trong cơ sở dữ liệu của bạn được duy trì ngay cả khi dừng và khởi động lại vùng chứa của bạnNgoài ra, lần đầu tiên bộ chứa MySQL khởi động, nó sẽ tạo hai cơ sở dữ liệu cho bạn. Cơ sở dữ liệu đầu tiên được đặt tên bằng cách sử dụng giá trị của biến môi trường 01 của bạn và dành cho sự phát triển cục bộ của bạn. Thứ hai là cơ sở dữ liệu thử nghiệm chuyên dụng có tên 02 và sẽ đảm bảo rằng các thử nghiệm của bạn không can thiệp vào dữ liệu phát triển của bạnKhi bạn đã khởi động vùng chứa của mình, bạn có thể kết nối với phiên bản MySQL trong ứng dụng của mình bằng cách đặt biến môi trường 03 trong tệp 04 của ứng dụng thành 05Để kết nối với cơ sở dữ liệu MySQL của ứng dụng từ máy cục bộ của bạn, bạn có thể sử dụng ứng dụng quản lý cơ sở dữ liệu đồ họa như TablePlus. Theo mặc định, cơ sở dữ liệu MySQL có thể truy cập tại cổng 06 3306làm lạiTệp 8 của ứng dụng của bạn cũng chứa một mục cho bộ chứa Redis. Vùng chứa này sử dụng ổ đĩa Docker để dữ liệu được lưu trữ trong dữ liệu Redis của bạn được duy trì ngay cả khi dừng và khởi động lại vùng chứa của bạn. Sau khi bạn đã khởi động vùng chứa của mình, bạn có thể kết nối với phiên bản Redis trong ứng dụng của mình bằng cách đặt biến môi trường 08 trong tệp 04 của ứng dụng thành 80Để kết nối với cơ sở dữ liệu Redis của ứng dụng từ máy cục bộ của bạn, bạn có thể sử dụng ứng dụng quản lý cơ sở dữ liệu đồ họa như TablePlus. Theo mặc định, cơ sở dữ liệu Redis có thể truy cập được tại cổng 06 6379MeiliSearchNếu bạn chọn cài đặt dịch vụ MeiliSearch khi cài đặt Sail, tệp 8 của ứng dụng của bạn sẽ chứa mục nhập cho công cụ tìm kiếm mạnh mẽ tương thích với Laravel Scout này. Khi bạn đã bắt đầu các vùng chứa của mình, bạn có thể kết nối với phiên bản MeiliSearch trong ứng dụng của mình bằng cách đặt biến môi trường 83 của bạn thành 84Từ máy cục bộ của bạn, bạn có thể truy cập bảng quản trị dựa trên web của MeiliSearch bằng cách điều hướng đến 85 trong trình duyệt web của bạnLưu trữ tập tinNếu bạn định sử dụng Amazon S3 để lưu trữ tệp trong khi chạy ứng dụng của mình trong môi trường sản xuất của nó, bạn có thể muốn cài đặt dịch vụ MinIO khi cài đặt Sail. MinIO cung cấp API tương thích với S3 mà bạn có thể sử dụng để phát triển cục bộ bằng cách sử dụng trình điều khiển lưu trữ tệp 86 của Laravel mà không cần tạo bộ chứa lưu trữ "thử nghiệm" trong môi trường S3 sản xuất của bạn. Nếu bạn chọn cài đặt MinIO trong khi cài đặt Sail, phần cấu hình MinIO sẽ được thêm vào tệp 8 của ứng dụng của bạnTheo mặc định, tệp cấu hình 88 của ứng dụng của bạn đã chứa cấu hình đĩa cho đĩa 86. Ngoài việc sử dụng đĩa này để tương tác với Amazon S3, bạn có thể sử dụng nó để tương tác với bất kỳ dịch vụ lưu trữ tệp tương thích S3 nào, chẳng hạn như MinIO bằng cách chỉ cần sửa đổi các biến môi trường được liên kết kiểm soát cấu hình của nó. Ví dụ: khi sử dụng MinIO, cấu hình biến môi trường hệ thống tệp của bạn phải được xác định như sau 8Để tích hợp Flysystem của Laravel tạo URL phù hợp khi sử dụng MinIO, bạn nên xác định biến môi trường 90 sao cho nó khớp với URL cục bộ của ứng dụng của bạn và bao gồm tên bộ chứa trong đường dẫn URL 9Bạn có thể tạo nhóm thông qua bảng điều khiển MinIO, có sẵn tại 91. Tên người dùng mặc định cho bảng điều khiển MinIO là 9 trong khi mật khẩu mặc định là 93
Chạy thử nghiệmLaravel cung cấp hỗ trợ thử nghiệm tuyệt vời ngay lập tức và bạn có thể sử dụng lệnh 95 của Sail để chạy thử nghiệm đơn vị và tính năng ứng dụng của mình. Bất kỳ tùy chọn CLI nào được PHPUnit chấp nhận cũng có thể được chuyển đến lệnh 95Lệnh Sail 95 tương đương với việc chạy lệnh Artisan 95Theo mặc định, Sail sẽ tạo một cơ sở dữ liệu 02 chuyên dụng để các thử nghiệm của bạn không can thiệp vào trạng thái hiện tại của cơ sở dữ liệu của bạn. Trong bản cài đặt Laravel mặc định, Sail cũng sẽ định cấu hình tệp 00 của bạn để sử dụng cơ sở dữ liệu này khi thực hiện các bài kiểm tra của bạn 0Laravel hoàng hônLaravel Dusk cung cấp API thử nghiệm và tự động hóa trình duyệt rõ ràng, dễ sử dụng. Nhờ Sail, bạn có thể chạy các thử nghiệm này mà không cần cài đặt Selenium hoặc các công cụ khác trên máy tính cục bộ của mình. Để bắt đầu, hãy bỏ ghi chú dịch vụ Selenium trong tệp 8 của ứng dụng của bạn 3Tiếp theo, đảm bảo rằng dịch vụ 67 trong tệp 8 của ứng dụng của bạn có mục nhập 04 cho 05Cuối cùng, bạn có thể chạy bộ thử nghiệm Dusk của mình bằng cách khởi động Sail và chạy lệnh 06Selenium trên Apple SiliconNếu máy cục bộ của bạn chứa chip Apple Silicon, dịch vụ 05 của bạn phải sử dụng hình ảnh 08 0Xem trước emailTệp 8 mặc định của Laravel Sail chứa mục nhập dịch vụ cho MailHog. MailHog chặn email do ứng dụng của bạn gửi trong quá trình phát triển cục bộ và cung cấp giao diện web thuận tiện để bạn có thể xem trước email trong trình duyệt của mình. Khi sử dụng Sail, máy chủ mặc định của MailHog là 30 và khả dụng qua cổng 1025Khi Sail đang chạy, bạn có thể truy cập giao diện web MailHog tại. http. //máy chủ cục bộ. 8025 CLI vùng chứaĐôi khi bạn có thể muốn bắt đầu phiên Bash trong vùng chứa ứng dụng của mình. Bạn có thể sử dụng lệnh 31 để kết nối với bộ chứa ứng dụng của mình, cho phép bạn kiểm tra các tệp và dịch vụ đã cài đặt của nó cũng như thực thi các lệnh trình bao tùy ý trong bộ chứaĐể bắt đầu phiên Laravel Tinker mới, bạn có thể thực thi lệnh 32Phiên bản PHPSail hiện hỗ trợ phục vụ ứng dụng của bạn thông qua PHP 8. 2, 8. 1, PHP8. 0 hoặc PHP 7. 4. Phiên bản PHP mặc định được Sail sử dụng hiện tại là PHP 8. 1. Để thay đổi phiên bản PHP được sử dụng để phục vụ ứng dụng của bạn, bạn nên cập nhật định nghĩa 33 của vùng chứa 67 trong tệp 8 của ứng dụng của bạn 1Ngoài ra, bạn có thể muốn cập nhật tên 36 của mình để phản ánh phiên bản PHP đang được ứng dụng của bạn sử dụng. Tùy chọn này cũng được xác định trong tệp 8 của ứng dụng của bạnSau khi cập nhật tệp 8 của ứng dụng, bạn nên xây dựng lại hình ảnh vùng chứa của mìnhPhiên bản nútSail cài đặt Node 16 theo mặc định. Để thay đổi phiên bản Nút được cài đặt khi xây dựng hình ảnh của bạn, bạn có thể cập nhật định nghĩa 39 của dịch vụ 67 trong tệp 8 của ứng dụng của bạnSau khi cập nhật tệp 8 của ứng dụng, bạn nên xây dựng lại hình ảnh vùng chứa của mìnhChia sẻ trang web của bạnĐôi khi, bạn có thể cần chia sẻ công khai trang web của mình để đồng nghiệp xem trước trang web của bạn hoặc để kiểm tra tích hợp webhook với ứng dụng của bạn. Để chia sẻ trang web của bạn, bạn có thể sử dụng lệnh 03. Sau khi thực hiện lệnh này, bạn sẽ được cấp một URL 04 ngẫu nhiên mà bạn có thể sử dụng để truy cập ứng dụng của mìnhKhi chia sẻ trang web của bạn thông qua lệnh 03, bạn nên định cấu hình proxy đáng tin cậy của ứng dụng trong phần mềm trung gian 06. Mặt khác, những người trợ giúp tạo URL như 07 và 08 sẽ không thể xác định máy chủ HTTP chính xác sẽ được sử dụng trong quá trình tạo URL 2Nếu bạn muốn chọn tên miền phụ cho trang web được chia sẻ của mình, bạn có thể cung cấp tùy chọn 09 khi thực hiện lệnh 03 3
Gỡ lỗi với XdebugCấu hình Docker của Laravel Sail bao gồm hỗ trợ cho Xdebug, một trình sửa lỗi phổ biến và mạnh mẽ cho PHP. Để kích hoạt Xdebug, bạn cần thêm một vài biến vào tệp 04 của ứng dụng để định cấu hình Xdebug. Để bật Xdebug, bạn phải đặt (các) chế độ thích hợp trước khi khởi động Sail 4Cấu hình IP máy chủ LinuxBên trong, biến môi trường 13 được định nghĩa là 14 để Xdebug sẽ được định cấu hình phù hợp cho Mac và Windows (WSL2). Nếu máy cục bộ của bạn đang chạy Linux, bạn nên đảm bảo rằng bạn đang chạy Docker Engine 17. 06. 0+ và Soạn 1. 16. 0+. Nếu không, bạn sẽ cần xác định biến môi trường này theo cách thủ công như hình bên dướiTrước tiên, bạn nên xác định đúng địa chỉ IP máy chủ để thêm vào biến môi trường bằng cách chạy lệnh sau. Thông thường, 15 phải là tên của vùng chứa phục vụ ứng dụng của bạn và thường kết thúc bằng 16 5Khi bạn đã có được địa chỉ IP máy chủ chính xác, bạn nên xác định biến 17 trong tệp 04 của ứng dụng của mình 6Cách sử dụng Xdebug CLILệnh 19 có thể được sử dụng để bắt đầu phiên gỡ lỗi khi chạy lệnh Artisan 7Sử dụng trình duyệt XdebugĐể gỡ lỗi ứng dụng của bạn trong khi tương tác với ứng dụng qua trình duyệt web, hãy làm theo hướng dẫn do Xdebug cung cấp để bắt đầu phiên Xdebug từ trình duyệt web Nếu bạn đang sử dụng PhpStorm, vui lòng xem lại tài liệu của JetBrain về gỡ lỗi cấu hình bằng không
tùy chỉnhVì Sail chỉ là Docker nên bạn có thể tự do tùy chỉnh gần như mọi thứ về nó. Để xuất bản Dockerfiles của riêng Sail, bạn có thể thực hiện lệnh 24Sau khi chạy lệnh này, Dockerfiles và các tệp cấu hình khác được sử dụng bởi Laravel Sail sẽ được đặt trong thư mục 25 trong thư mục gốc của ứng dụng của bạn. Sau khi tùy chỉnh cài đặt Sail của bạn, bạn có thể muốn thay đổi tên hình ảnh cho vùng chứa ứng dụng trong tệp 8 của ứng dụng của bạn. Sau khi làm như vậy, hãy xây dựng lại các thùng chứa ứng dụng của bạn bằng lệnh 33. Việc gán một tên duy nhất cho hình ảnh ứng dụng đặc biệt quan trọng nếu bạn đang sử dụng Sail để phát triển nhiều ứng dụng Laravel trên một máy |