Hướng dẫn install php 8 mac - cài đặt php 8 mac

Dạo gần đây mình cần phải chuyển đổi liên tục giữa các phiên bản PHP trên máy của mình để làm việc.

Nếu các bạn đã từng gặp vấn đề như mình thì ít nhiều các bạn cũng quen với câu lệnh này:

Yeah, mình cũng làm như vậy. Nhưng mỗi lần chuyển đi chuyển lại, mình thấy lười quá.

Trong cái khó ló cái khôn. Mình dạo hết các diễn đàn tây ta các kiểu, cuối cùng mình tìm được một các khá hay.

Có thể cùng lúc chạy nhiều phiên bản PHP như thế này:

1
2
3
4
5
6
7
8
9
10
11
$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Các bạn có thể thấy, cùng lúc mình có thể dùng lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1 để chạy cho bản PHP 8.1.1 và
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2 để chạy cho bản PHP 7.4.27

Ngoài ra mình hoàn toàn có thể cài thêm PHP 7.1 và dùng lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3

Bây giờ mình sẽ hướng dẫn các bạn cách thực hiện.

Cài đặt các công cụ hỗ trợ

Cài đặt công cụ XCode Command Line

1
xcode-select --install

Cài đặt Homebrew

Homebrew là một trình quản lý gói cho macOS. Nó giống như trình quản lý gói

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4 trên Ubuntu.

1
xcode-select --install

Cài đặt Homebrew

Homebrew là một trình quản lý gói cho macOS. Nó giống như trình quản lý gói
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4 trên Ubuntu.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Kiểm tra lại xem đã cài đặt thành công Homebrew hay chưa bằng lệnh sau:

1
2

$ brew --version
Homebrew 3.3.10
PHP 7.2, 7.3 và 7.4

Ngoài ra bạn có thể chạy lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
5 để xem mọi thứ đã ổn hay chưa.PHP 5.6, 7.0 & 7.1 thì chúng ta cần phải chạy lệnh sau:

1
xcode-select --install

Cài đặt Homebrew

Homebrew là một trình quản lý gói cho macOS. Nó giống như trình quản lý gói

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4 trên Ubuntu.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Kiểm tra lại xem đã cài đặt thành công Homebrew hay chưa bằng lệnh sau:

1
2

$ brew --version
Homebrew 3.3.10

Ngoài ra bạn có thể chạy lệnh /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"5 để xem mọi thứ đã ổn hay chưa.

Cài đặt đa phiên bản PHP

Thời điểm hiện tại, Homebrew chỉ duy trì và hỗ trợ các phiên bản PHP 7.2, 7.3 và 7.4

Do đó, để cài đặt được các phiên bản PHP cũ hơn PHP 5.6, 7.0 & 7.1 thì chúng ta cần phải chạy lệnh sau:

1
xcode-select --install

Cài đặt Homebrew

1
xcode-select --install

Cài đặt Homebrew

Trong macOS phiên bản mới (như 10.11, 10.12, 10.13 ...) có cài sẵn mặc định Webserver Apache HTTP và PHP, tuy nhiên để dễ tuỳ biến trong phần này sẽ huỷ sử dụng cài đặt mặc định đó để sử dụng phiên bản

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
8,
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
9,
1
2
0 tuỳ chọn.

Do sử dụng

1
2
1 để cài đặt, nên đảm bảo cài đặt công cụ này trước: Sử dụng Homebrew (brew)

Các file cấu hình cho Apache, PHP, MySQL sử dụng

1
2
2 để soạn thảo, nên cũng cần cài VS Code trước: Cài đặt Visual Studio Code

Đầu tiên cần đảm báo có Command Line Tools

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
4

Có một số thư viện có thể cần bổ sung, chạy lệnh sau để cài đặt:

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
5

Trước tiên cần huỷ đi việc sử dụng Apache cài đặt mặc định nếu đang kích hoạt:

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
6

Tiến hành cài đặt Apache bằng lệnh:

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
7

Cấu hình để Apache tự động chạy khi khởi động hệ thống:

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
8

Mặc định Webserver Apache HTTP cài theo cách trên nó làm việc trên cổng

1
2
3, nên có thể truy cập địa chỉ
1
2
4, kết quả như sau chứng tỏ Apache đã cài thành công

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Khi làm việc với Apache một số lệnh có thể dùng tới như:

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
9

Thông tin cấu hình chỉnh của Apache lưu trong file

1
2
5, để soạn thảo - thay đổi cấu hình gõ lệnh

1
0

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Thay đổi một số cấu hình Apache

Đổi cổng HTTPD Thay đổi cổng

1
2
3 thành cổng
1
2
7, tìm đến:
Thay đổi cổng
1
2
3 thành cổng
1
2
7, tìm đến:

1
1

Thay bằng:

1
2

Đổi ServerName tìm đến: tìm đến:

1
3

Thay bằng:

1
4

Đổi ServerName tìm đến:, ví dụ muốn đổi vai trò chạy là của user

1
2
8 tìm đến:

1
5

Thay bằng:

1
6

Đổi ServerName tìm đến:, để hỗ trợ viết lại URL và

1
2
9:

1
7

Thay bằng:

1
8

Đổi ServerName tìm đến: ví dụ webiste lưu tại

$ brew --version
Homebrew 3.3.10
0, và cấu hình để chạy trên domain ảo
$ brew --version
Homebrew 3.3.10
1

1
9

Thay đổi user chạy , ví dụ muốn đổi vai trò chạy là của user

1
2
8 tìm đến:

xcode-select --install
0

Bật mod_rewrite, để hỗ trợ viết lại URL và

1
2
9:

xcode-select --install
1

Tạo thử một VirtualHost: ví dụ webiste lưu tại

$ brew --version
Homebrew 3.3.10
0, và cấu hình để chạy trên domain ảo
$ brew --version
Homebrew 3.3.10
1sudo apachectl restart, tạo ra một file
$ brew --version
Homebrew 3.3.10
3 có nội dung
$ brew --version
Homebrew 3.3.10
4 trong thư mục web, chạy kiểm tra
$ brew --version
Homebrew 3.3.10
5

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Tiếp theo thay đổi $ brew --versionHomebrew 3.3.102 bằng cách gõ:

Thêm vào:

xcode-select --install
2

Để cài đặt phiên bản PHP nào thì gõ lệnh cài đặt

1
2 với tham số bản PHP như
1
3,
1
3,
1
5 ..., ví dụ:

xcode-select --install
3

File cấu hình cho từng phiên bản PHP nằm trong các thư mục con trong

1
6 như:

xcode-select --install
4

Cấu hình Apache để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt. để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt.

Mở file

1
2
5 và thêm vào

xcode-select --install
5

Cũng cần đảm bảo trong

1
8 có định nghĩa Handler, để Apache biết gọi đến PHP với các file có phần mở rộng
1
9

xcode-select --install
6

Khởi động lại Apache, sau đó tạo một file

brew tap exolnet/homebrew-deprecated
0 trong thư mục website, với nội dung:

xcode-select --install
7

Kiểm tra thử

$ brew --version
Homebrew 3.3.10
5

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Chuyển đổi nhanh phiên bản PHP với SPHP

Cài đặt

brew tap exolnet/homebrew-deprecated
2

xcode-select --install
8

Nếu có cài nhiều phiên bản PHP và muốn chuyển nhanh sang một phiên bản thì gõ lệnh

xcode-select --install
9

Cài đặt extension memcached, xdebug cho PHP, cơ bản sử dụng pecl để cài đặt (kể cả các extension khác nếu cần), cơ bản sử dụng pecl để cài đặt (kể cả các extension khác nếu cần)

1
0

Sử dụng PHP-FPM

Mỗi phiên bản cài đặt trên, đồng thời nó cũng có PHP-FPM được cài đặt. File cấu hình trong thư mục tương ứng với bản PHP, ví dụ PHP 8.0 thì file cầu hình tại

brew tap exolnet/homebrew-deprecated
3

Với PHP-FPM thì máy chủ Web (như Apache, Nginx) sẽ chạy code PHP thông qua proxy, được phục vụ bởi dịch vụ PHP-FPM đang lắng nghe trên cổng nào đó (mặc định là 9000).

Để rõ hơn cho trường hợp sử dụng này hãy tham khảo Apache Handler và Nginx - VHost

Nếu bạn muốn dùng PHP-FPM để chạy code PHP, để tiện hãy mở file cấu hình

brew tap exolnet/homebrew-deprecated
4 sửa dòng

listen = 127.0.0.1:9000Thànhlisten = 0.0.0.0:9000
Thành
listen = 0.0.0.0:9000

Sau đó dùng lệnh

brew tap exolnet/homebrew-deprecated
5 quản lý dịch vụ PHP cho phù hợp (về lệnh này xem thêm Sử dụng lệnh brew)

Khi bạn cập nhật cấu hình, để khởi động lại dịch vụ bạn dùng lệnh (ví dụ cho bản php 7.2)

1
1

Nếu dịch vụ đang bị dừng dùng lệnh sau để chạy

1
2

Để dừng dịch vụ

1
3

Khi bạn chuyển phiên bản PHP, bạn cần dừng dịch vụ, sau khi chuyển phiên bản bạn dùng brew services start chạy bản mới.

Nếu dịch vụ đang chạy, dùng lệnh sau kiểm tra xem đã có dịch vụ PHP đang chạy và cổng lắng nghe

1
4

Cài đặt MySQL

Cài đặt bằng brew

1
5

Thiết lập MySQL chạy cùng hệ thống

1
6
1
7

Mặc định user có quyền cao nhất là

brew tap exolnet/homebrew-deprecated
6 với password là rỗng
brew tap exolnet/homebrew-deprecated
7, nếu muốn thiết lập password mới cho
brew tap exolnet/homebrew-deprecated
6 chạy lệnh:

1
8

File config my.cn tìm bằng lệnh

brew tap exolnet/homebrew-deprecated
9 nó nằm ở:
$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
00
tìm bằng lệnh
brew tap exolnet/homebrew-deprecated
9 nó nằm ở:
$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
00

Công cụ quản trị MySQL

Có nhiều công cụ để quản trị MySQL, thậm chí có thể sử ngay ứng dụng nền web như

$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
01, ở đây gợi hai công cụ chạy trên macOS đó là
$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
02 và
$ php -v
PHP 8.1.1 (cli) (built: Dec 15 2021 09:38:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

$ php74 -v
PHP 7.4.27 (cli) (built: Dec 17 2021 00:11:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
03

Cài đặt WorkbenchWorkbench

1
9

Hướng dẫn install php 8 mac - cài đặt php 8 mac

Cài đặt WorkbenchWorkbench

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
0

Hướng dẫn install php 8 mac - cài đặt php 8 mac