Hướng dẫn cài đặt đa phiên bản PHP trên macOS

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:

1
2
brew unlink php@7.4
brew link php@5.6 --force

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

php-screenshot

Các bạn có thể thấy, cùng lúc mình có thể dùng lệnh php để chạy cho bản PHP 8.1.1 và php74 để 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 php71

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 apt trên Ubuntu.

1
/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 brew doctor để 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
brew tap exolnet/homebrew-deprecated

Bây giờ bạn có thể cài đặt tất cả các phiên bản PHP có sẵn bằng các lệnh

1
2
3
4
5
6
brew install php@5.6
brew install php@7.0
brew install php@7.1
brew install php@7.2
brew install php@7.3
brew install php@7.4

Điều này sẽ mất một ít thời gian, cho nên bạn có thể đi pha một cốc cafe ☕️ rồi quay lại!

Chuyển đổi giữa các phiên bản PHP

Sau khi cài đặt, bạn có thể chuyển đổi giữa các phiên bản PHP bằng cách ‘link’ và ‘unlink’ trong brew:

1
2
3
# Chuyển đổi PHP từ 7.4 sang 5.6
brew unlink php@7.4
brew link php@5.6 --force

Year, bây giờ bạn có thể chuyển đổi qua lại giữa các phiên bản PHP rồi đúng không. Tiếp theo mình sẽ chỉ tiếp cho các bạn một thủ thuật nhỏ để không cần phải chuyển đổi qua lại giữa các phiên bản nữa, mà có thể dùng trực tiếp như mình đã nêu ở phần đầu luôn.

Để thực hiện các bạn làm theo các bước sau:

Cấu hình đa phiên bản PHP

Điều chỉnh tên file php

Cài đặt và cấu hình ZSH

Nếu chưa cài đặt zsh thì trước tiên bạn cần cài đặt bằng lệnh sau:

1
brew install zsh

Tiếp theo, bạn cần cài đặt thêm oh-my-zsh như sau:

1
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Cuối cùng bạn hãy mở file ~/.zshrc và thêm vào nội dung sau:

1
2
export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"
export PATH="/opt/homebrew/opt/php@8.1/bin:$PATH"
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×