Mysql_allow_empty_password là gì?

Laravel 9 đã ra mắt vào tháng 2/2022 với nhiều tính năng mới, tuy nhiên khi tìm kiếm thì mình chưa thấy bài viết nào hướng dẫn chi tiết cho anh em cách cài đặt bằng Sail as trên trang chủ đề cập nhật Laravel. Để đỡ tốn thời gian cho các anh em mới cài đặt, vooclaptrinh sẽ hướng dẫn chi tiết cách cài đặt Laravel với Sail trên cả Windows 10

Nội dung bài viết

Quảng cáo

1. Laravel Sail là gì?

Laravel Sail là một 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 động 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 đó

Để chạy Laravel bằng Sail, đầu tiên chúng ta cần tạo tệp docker-compose tại thư mục gốc của dự án Laravel

Các lệnh được tạo như sau

composer require laravel/sail --dev
php artisan sail:install

Sau đó nó sẽ hỏi DB mà bạn đang muốn sử dụng trong dự án, ở đây mình dùng MySQL thì điền 0

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0

Lúc này trong project sẽ sinh ra một file docker-compose. xml

Để tìm hiểu rõ hơn về thao tác sử dụng sail, bạn có thể tham khảo. https. //v1nghiên cứu. com/laravel-gói-sail. html

Quảng cáo

2. Cài đặt Docker Desktop cho Windows 10

Chúng ta bắt đầu cài đặt môi trường

Để sử dụng được Sail, máy tính đầu tiên của bạn phải cài đặt máy tính để bàn docker. https. //www. người đóng tàu. com/products/docker-desktop/

Ở bước này lưu ý khi tải Docker Desktop về cần chạy file cài đặt của Docker với quyền Adminstrator nhé

Tiếp tục theo yêu cầu cài đặt WLS trên Windows 10

WSL là gì?

WSL (Windows Subsystem for Linux) là một dòng lệnh trên Windows 10, giúp bạn có thể chạy các dòng lệnh của Linux trên Windows

Trước đó để chạy Docker trên Windows chúng ta thường cài đặt thông qua máy ảo Hyper-V hoặc sử dụng phần mềm thứ ba là VirtualBox. Tuy nhiên, hiện tại nếu bạn đã cài đặt WSL 2 bạn có thể chạy các Container Linux mà không cần các máy ảo trên. Docker lúc này ổn định và nhanh hơn khi sử dụng Hyper-V

Để cài đặt WSL với các máy ảo khác, anh em có thể tham khảo. https. // tài liệu. Microsoft. com/en-us/windows/wsl/install

3. Cài đặt WSL Ubuntu 20. 04

To install Ubuntu 20. 04 thực hiện nhập lệnh sau trong PowerShell của Windows 10

wsl --install -d Ubuntu-20.04

Cập nhật phiên bản WSL WSL 1 thành WSL 2 và cài đặt wls mặc định gọi máy ảo Ubuntu 20. 04

wsl --set-default-version 2, replacing 1
wsl --setdefault Ubuntu-20.04 2
wsl --set-version Ubuntu-20.04 2

Cài đặt Windows Terminal tại Microsoft Store nếu chưa có. https. //www. Microsoft. com/en-us/p/windows-terminal/

Sau khi cài đặt xong WSL, mở Start Menu lên sẽ thấy WSL ubutu 20. 04

Mysql_allow_empty_password là gì?
windows 10

Khi mở WSL trên thì chúng ta có thể thao tác với Ubuntu 20. 04 trên Windows 10 một cách bình thường

  • Cập nhật Ubuntu 20. 04

Mysql_allow_empty_password là gì?
Giao diện của WSL ubuntu 20. 04

4. Cài đặt môi trường PHP 8. 1 cho Laravel 9

Default Ubuntu 20. 04 chỉ có sẵn PHP đến phiên bản 7. 4, làm như vậy để cài đặt PHP 8. 1 ta thực hiện các bước

  • Cài đặt PHP trên ubuntu 20. 04 ta run the command after
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
  • Sau khi đã thêm reponsitory cho ubuntu 20. 04 thì ta có thể cài đặt php 8. 1
sudo apt install php8.1
  • Cài đặt các gói PHP cần thiết cho dự án
sudo apt install -y php8.1-{cli,gd,curl,mysql,ldap,zip,fileinfo,fpm,xml,mbstring,exif,pspell,imagick,bcmath}
  • Đối mặt với các dự án đã sử dụng Laravel-mix anh em cài đặt thêm NodeJs và npm
sudo apt install nodejs
sudo apt install npm
  • Tiếp tục theo cd vào thư mục chính trên Ubuntu và sao chép mã nguồn Laravel
________số 8_______

Hoặc project đã tồn tại thì cài đặt git và clone

Chạy lệnh cài đặt các trang cho dự án Laravel

npm install
composer install

sao chép tập tin. env for project Laravel

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
0

Ở bước này cần chỉnh sửa tệp docker-compose cho chính xác nhé. Lưu ý DB_HOST trong tệp. env must change to services name in file docker-compose chứ không phải là 127. 0. 0. 1 nhé

Bước cuối cùng là căng thẳng thôi. Tùy chọn -d cho phép sail chạy trong nền mà không hiện đăng nhập cmd

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
1

Tuy nhiên, thay vì nhập lệnh liên tục trên thì để thực hiện lệnh Sail, bạn có thể cấu hình bí danh Bash để cho phép bạn thực hiện lệnh của Sail dễ dàng hơn

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
2

Sau this only must run sail up as lệnh thay thế. /vendor/bin/sai up

Để tắt vùng chứa đang chạy có thể sử dụng Ctrl + C hoặc sử dụng lệnh

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
3

Trường hợp muốn xóa vùng chứa đã tạo thì chạy lệnh. Tùy chọn -v cho phép xóa luôn dung lượng của vùng chứa để tránh trường hợp lưu dữ liệu cũ bị sai

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
4

Để viết mã trong máy ảo ubuntu, máy Windows 10 cần cài đặt sẵn Visual Code khi đang ở wsl thư mục nguồn, nhập lệnh bên dưới là mã được

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
5

Run a artisan delete cache number

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
6

Run command set up DB

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
7

the end of the running http. //localhost in browser

Trường hợp dự án có sử dụng các gói của NodeJs thì chạy thêm

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
8

5. Một số lỗi thường gặp

ấu trùng. file_put_contents() không mở được luồng. Quyền bị từ chối đối với thư mục Phiên

Chạy lại 2 lệnh

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium
 > 0
9

Unconnected to database

Thử đăng nhập với tên người dùng = root và mật khẩu trống trong tệp. env. In file docker-compose. yml thêm hằng số MYSQL_ALLOW_EMPTY_PASSWORD

wsl --install -d Ubuntu-20.04
0

Truy cập vào docker container để kiểm tra xem có db chưa

Từ lệnh WSL gõ lệnh. docker ps

wsl --install -d Ubuntu-20.04
1

Tiếp theo nhập mysql > hiển thị cơ sở dữ liệu

Trên đây mình đã ghi chú chi tiết các bước khởi động ứng dụng Laravel với Laravel sail trên Windows 10. Trong quá trình cài đặt nếu xảy ra một số lỗi anh em có thể search thêm google nhé