Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Phần 1: Môi trường phát triển web lớn của MacOS 11.0

Phát triển các ứng dụng web trên macOS là một niềm vui thực sự. Có rất nhiều tùy chọn để thiết lập môi trường phát triển của bạn, bao gồm Mamp Pro phổ biến cung cấp một giao diện người dùng tốt đẹp trên đỉnh Apache, PHP và MySQL. Tuy nhiên, có những lúc Mamp Pro có các phiên bản chậm, hoặc các phiên bản lỗi thời, hoặc đơn giản là hành xử tồi tệ do hệ thống cấu hình hạn chế của nó và các bản dựng không chuẩn.Apache, PHP and MySQL. However, there are times when MAMP Pro has slow downs, or out of date versions, or is simply behaving badly due to its restrictive system of configuration templates and non-standard builds.

Đó là những lúc như thế này mà mọi người thường tìm kiếm một cách tiếp cận khác, và may mắn là có một, và nó tương đối đơn giản để thiết lập.

Trong bài đăng trên blog này, chúng tôi sẽ hướng dẫn bạn thiết lập và định cấu hình Apache 2.4 và nhiều phiên bản PHP. Trong bài đăng trên blog thứ hai trong loạt bài hai bài này, chúng tôi sẽ bao gồm các máy chủ ảo của MySQL, Apache, bộ nhớ đệm APC và cài đặt XDebug.Apache 2.4 and multiple PHP versions. In the second blog post in this two-post series, we will cover MySQL, Apache virtual hosts, APC caching, and Xdebug installation.

31/10/2021 Đã thêm hỗ trợ động cho các đường dẫn Apple Silicon và Intel Homebrew 10/29/2021 được cập nhật để phản ánh MacOS 12.0 Monterey và xóa Php 5.6 11/27/2020 được cập nhật để thêm một số thông tin về Php 8.0 11/13/2020 được cập nhật lên Phản ánh việc phát hành MacOS 11.0 Big Sur 12/02/2019 được cập nhật để phản ánh bản phát hành mới nhất của Php 7.4 và loại bỏ Php 7.1 khỏi TAP chính thức 12/02/2019 được cập nhật để phản ánh bản phát hành mới nhất của Php 7.4 và loại bỏ Php 7.1 Từ Tap chính thức 10/08/2019 Cập nhật để phản ánh việc phát hành MacOS 10.5 Catalina 01/10/2019 Cập nhật để thêm trở lại Php 5.6 và Php 7.0 từ và Keg không dùng nữa KEG 12/12/2018 được cập nhật để phản ánh bản phát hành mới nhất của PHP 7.3 và loại bỏ Php 7.0 khỏi Bia.Apple Silicon and Intel homebrew paths
10/29/2021 Updated to reflect macOS 12.0 Monterey and removed PHP 5.6
11/27/2020 Updated to add some information on PHP 8.0
11/13/2020 Updated to reflect the release of macOS 11.0 Big Sur
12/02/2019 Updated to reflect the latest release of PHP 7.4 and the removal of PHP 7.1 from Official tap
12/02/2019 Updated to reflect the latest release of PHP 7.4 and the removal of PHP 7.1 from Official tap
10/08/2019 Updated to reflect the release of macOS 10.5 Catalina
01/10/2019 Updated to add back PHP 5.6 and PHP 7.0 from and external deprecated keg
12/12/2018 Updated to reflect the latest release of PHP 7.3 and the removal of PHP 7.0 from Brew.

Nếu bạn đã làm theo hướng dẫn này trong quá khứ với

brew install openssl
0 và đang tìm cách nâng cấp lên cách tiếp cận
brew install openssl
1 mới, thì trước tiên bạn nên dọn dẹp cài đặt hiện tại của mình bằng cách theo dõi nâng cấp mới của chúng tôi.upgrade to the new
brew install openssl
1 approach, then you should first clean-up your current installation by following our new Upgrading Homebrew.

Hướng dẫn này được dành cho các nhà phát triển web có kinh nghiệm. Nếu bạn là nhà phát triển mới bắt đầu, bạn sẽ được phục vụ tốt hơn khi sử dụng Mamp hoặc Mamp Pro.experienced web developers. If you are a beginner developer, you will be better served using MAMP or MAMP Pro.

Công cụ dòng lệnh xcode

Nếu bạn chưa cài đặt Xcode, tốt nhất bạn nên cài đặt các công cụ dòng lệnh vì chúng sẽ được sử dụng bởi homebrew:

xcode-select --install

Cài đặt Homebrew

Quá trình này phụ thuộc rất nhiều vào Trình quản lý gói MacOS có tên là Homebrew. Sử dụng lệnh

brew install openssl
2, bạn có thể dễ dàng thêm chức năng mạnh mẽ vào máy Mac của mình, nhưng trước tiên chúng ta phải cài đặt nó. Đây là một quy trình đơn giản, nhưng bạn cần khởi chạy ứng dụng thiết bị đầu cuối của mình (
brew install openssl
3) và sau đó nhập:Homebrew. Using the
brew install openssl
2 command you can easily add powerful functionality to your mac, but first we have to install it. This is a simple process, but you need to launch your Terminal (
brew install openssl
3) application and then enter:

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

Chỉ cần làm theo lời nhắc thiết bị đầu cuối và nhập mật khẩu của bạn khi cần thiết. Có thể sẽ mất vài phút.

Nếu đây là cài đặt mới và bạn không có thiết lập đường dẫn của mình đúng cách, bạn có thể theo dõi "các bước tiếp theo" đã được tùy chỉnh cho bạn hoặc bạn có thể thêm các đường dẫn sau vào

brew install openssl
4 hoặc
brew install openssl
5:

eval "$(/opt/homebrew/bin/brew shellenv)"

Bây giờ bạn có thể kiểm tra cài đặt của mình để đảm bảo bạn đã cài đặt chính xác

brew install openssl
2, chỉ cần nhập:

brew --version
Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)

Có lẽ bạn cũng nên chạy lệnh sau để đảm bảo mọi thứ được cấu hình chính xác:

brew doctor

Nó sẽ hướng dẫn bạn nếu bạn cần sửa bất cứ điều gì.

Monterey yêu cầu thư viện

Khi cài đặt Fresh trên Monterey, tôi đã chạy vào một vài thư viện bị thiếu khi hoàn thành tất cả các bước dưới đây. Để làm cho mọi thứ dễ dàng hơn, xin vui lòng chỉ cần chạy điều này ngay bây giờ:

brew install openssl

Cài đặt Apache

MacOS 12.0 Monterey mới nhất đi kèm với Apache 2.4 được cài đặt sẵn, tuy nhiên, việc sử dụng phiên bản này với Homebrew này không còn là một nhiệm vụ đơn giản vì Apple đã xóa một số tập lệnh cần thiết trong bản phát hành này. Tuy nhiên, giải pháp là cài đặt Apache 2.4 thông qua homebrew và sau đó định cấu hình nó để chạy trên các cổng tiêu chuẩn (80/443).macOS 12.0 Monterey comes with Apache 2.4 pre-installed, however, it is no longer a simple task to use this version with Homebrew because Apple has removed some required scripts in this release. However, the solution is to install Apache 2.4 via Homebrew and then configure it to run on the standard ports (80/443).

Nếu bạn đã chạy Apache tích hợp, nó sẽ cần phải tắt máy trước và bất kỳ tập lệnh tải tự động nào bị xóa. Thật sự không bị tổn thương khi chỉ chạy tất cả các lệnh này theo thứ tự - ngay cả khi đó là một bản cài đặt mới:

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Bây giờ chúng ta cần cài đặt phiên bản mới được cung cấp bởi Brew:

brew install httpd

Không có tùy chọn,

brew install openssl
7 sẽ không cần phải được xây dựng từ nguồn, vì vậy nó cài đặt khá nhanh. Sau khi hoàn thành, bạn sẽ thấy một tin nhắn như:

🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB

Bây giờ chúng ta chỉ cần định cấu hình mọi thứ để máy chủ Apache mới của chúng ta được tự động khởi động

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

Bây giờ bạn đã cài đặt Apache của Homebrew và cấu hình nó để tự động bắt đầu với một tài khoản đặc quyền. Nó đã được chạy, vì vậy bạn có thể cố gắng tiếp cận máy chủ của mình trong trình duyệt bằng cách chỉ vào

brew install openssl
8, bạn sẽ thấy một tiêu đề đơn giản có nội dung "Nó hoạt động!"."It works!".

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Những mẹo xử lí sự cố

Nếu bạn nhận được một thông báo mà trình duyệt không thể kết nối với máy chủ, trước tiên hãy kiểm tra để đảm bảo máy chủ hoạt động.

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

Bạn sẽ thấy một vài quy trình HTTPD nếu Apache hoạt động và chạy.

Cố gắng khởi động lại Apache với:

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

Bạn có thể xem nhật ký lỗi Apache trong tab/cửa sổ đầu cuối mới trong quá trình khởi động lại để xem có gì không hợp lệ hay gây ra vấn đề:

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

Apache được điều khiển thông qua lệnh

brew install openssl
9 để một số lệnh hữu ích sử dụng là:

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

Visual Studio Code

Trong các hướng dẫn trước đây, tôi luôn cung cấp các hướng dẫn để chỉnh sửa các tệp bằng ứng dụng

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
0 mặc định được cài đặt sẵn. Tuy nhiên, đây không phải là những gì tôi sử dụng bản thân vì đó là một trình soạn thảo khủng khiếp và khi kiểm tra hướng dẫn của tôi cho Big Sur, tôi tiếp tục gặp các vấn đề với mã hóa, tìm số dòng, v.v ... Giải pháp tốt hơn là chỉ cần cài đặt trình chỉnh sửa tốt hơn. Vì vậy, vui lòng cài đặt mã Visual Studio, miễn phí, miễn phí 100%. Nó có sẵn trên Mac, Windows và Linux, nhưng ngay bây giờ chúng tôi chỉ quan tâm đến phiên bản Mac.

Chúng ta có thể sử dụng homebrew và cài đặt VSCode và lệnh

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
1 CLI đi kèm trong một lần bắn với:

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

Nếu bạn đã cài đặt mã Visual Studio, bạn có thể dễ dàng tạo một liên kết

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
1 với:

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

Cấu hình Apache

Bây giờ chúng tôi có một máy chủ web hoạt động, chúng tôi sẽ muốn thực hiện là thực hiện một số thay đổi cấu hình để nó hoạt động tốt hơn như một máy chủ phát triển cục bộ.

Trong phiên bản mới nhất của Brew, bạn phải đặt thủ công cổng nghe từ mặc định là

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
3 thành
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
4, vì vậy chúng tôi sẽ cần chỉnh sửa tệp cấu hình của Apache
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
5.

Nếu bạn làm theo các hướng dẫn ở trên, bạn sẽ có thể sử dụng mã Visual Studio để chỉnh sửa các tệp của mình bằng lệnh đầu cuối

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
1. Tuy nhiên, nếu bạn muốn sử dụng ứng dụng Texteditor mặc định để thực hiện các chỉnh sửa, bạn có thể sử dụng lệnh
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
7 theo sau là đường dẫn đến tệp.Visual Studio Code to edit your files using the
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
1 Terminal command. However, if you want to use the default TextEditor application to perform edits, you can use the
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
7 command followed by the path to the file.

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

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Tìm dòng nói rằng

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

và thay đổi nó thành

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
4:

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

Tiếp theo, chúng tôi sẽ định cấu hình nó để sử dụng để thay đổi gốc tài liệu cho Apache. Đây là thư mục nơi Apache tìm cách phục vụ tệp từ đó. Theo mặc định, gốc tài liệu được cấu hình là

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
9. Vì đây là một máy phát triển, hãy giả sử chúng tôi muốn thay đổi gốc tài liệu để trỏ đến một thư mục trong thư mục nhà của chúng tôi.document root for Apache. This is the folder where Apache looks to serve file from. By default, the document root is configured as
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
9. As this is a development machine, let's assume we want to change the document root to point to a folder in our own home directory.

Tìm kiếm thuật ngữ

brew install httpd
0 và bạn sẽ thấy dòng sau:

eval "$(/opt/homebrew/bin/brew shellenv)"
0

Thay đổi điều này để trỏ đến thư mục người dùng của bạn trong đó

brew install httpd
1 là tên của tài khoản người dùng của bạn:

eval "$(/opt/homebrew/bin/brew shellenv)"
1

Bạn cũng cần thay đổi tham chiếu thẻ

brew install httpd
2 ngay bên dưới dòng documentroot. Điều này cũng nên được thay đổi để trỏ đến gốc tài liệu mới của bạn:

eval "$(/opt/homebrew/bin/brew shellenv)"
2

Trong cùng một khối

brew install httpd
2, bạn sẽ tìm thấy cài đặt
brew install httpd
4, điều này sẽ được thay đổi như sau:

eval "$(/opt/homebrew/bin/brew shellenv)"
3

Ngoài ra, bây giờ chúng ta nên kích hoạt mod_rewrite được nhận xét theo mặc định. Tìm kiếm

brew install httpd
5 và giải nén dòng bằng cách loại bỏ
brew install httpd
6 hàng đầu bằng cách đẩy
brew install httpd
7 +
brew install httpd
8 trên dòng (đây là một cách nhanh chóng để giải quyết và nhận xét một hoặc nhiều dòng:mod_rewrite which is commented out by default. Search for
brew install httpd
5 and uncomment the line by removing the leading
brew install httpd
6 by pushing
brew install httpd
7 +
brew install httpd
8 on the line (this is a quick way to uncomment and comment a single or multiple lines:

eval "$(/opt/homebrew/bin/brew shellenv)"
4

Nhóm người dùng

Bây giờ chúng tôi có cấu hình Apache trỏ đến thư mục

brew install httpd
9 trong thư mục nhà của chúng tôi. Một vấn đề vẫn tồn tại, tuy nhiên. Theo mặc định, Apache chạy dưới dạng người dùng
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
0 và nhóm
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
0. Điều này sẽ gây ra các vấn đề về quyền khi cố gắng truy cập các tệp trong thư mục nhà của chúng tôi. Khoảng một phần ba cách xuống tệp
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
2, có hai cài đặt để đặt
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
3 và
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
4 Apache sẽ chạy theo. Thay đổi những thứ này để phù hợp với tài khoản người dùng của bạn (thay thế
brew install httpd
1 bằng tên người dùng thực của bạn), với một nhóm
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
6:

eval "$(/opt/homebrew/bin/brew shellenv)"
5

Tên máy chủ

Apache thích có tên máy chủ trong cấu hình, nhưng điều này bị tắt theo mặc định, vì vậy hãy tìm kiếm:

eval "$(/opt/homebrew/bin/brew shellenv)"
6

và thay thế nó bằng:

eval "$(/opt/homebrew/bin/brew shellenv)"
7

Thư mục trang web

Bây giờ, bạn cần tạo một thư mục

brew install httpd
9 trong root của thư mục nhà của bạn. Bạn có thể làm điều này trong thiết bị đầu cuối của bạn, hoặc trong Finder. Trong thư mục
brew install httpd
9 mới này tạo ra một
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
9 đơn giản và đặt một số nội dung giả trong đó như:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
00.

eval "$(/opt/homebrew/bin/brew shellenv)"
8

Khởi động lại Apache để đảm bảo các thay đổi cấu hình của bạn đã có hiệu lực:

eval "$(/opt/homebrew/bin/brew shellenv)"
9

Nếu bạn nhận được lỗi khi khởi động lại Apache, hãy thử xóa các báo giá xung quanh các chỉ định thư mục và tài liệu mà chúng tôi đã thiết lập trước đó.

Trỏ trình duyệt của bạn đến

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
01 sẽ hiển thị thông báo mới của bạn. Nếu bạn có công việc đó, chúng tôi có thể tiếp tục!

Đảm bảo bạn xóa cổng

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
02 mà chúng tôi đã sử dụng trước đó. Ngoài ra, bạn có thể cần phải
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
03 +
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
04 để xóa bộ đệm trình duyệt và chọn tệp mới.

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Khắc phục sự cố Dịch vụ HTTPD không phải SUDO bắt đầu

Tôi sẽ cập nhật phần này với nhiều mẹo hơn và những điều cần thử khi tôi tìm thấy giải pháp cho các vấn đề phổ biến. Vui lòng nhảy vào trò chuyện #Macos Discord của chúng tôi để nhận trợ giúp "trực tiếp".

Năm nay, với MacOS Big Sur, tôi đã chuyển từ sử dụng

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
05 sang khởi chạy
brew install openssl
7 bằng root (mặc dù nó chạy như người dùng/nhóm được xác định trong
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
2) và đối với những người đã nâng cấp từ phiên bản đó lên các vấn đề.

Tôi đã tự mình gặp một số vấn đề nhưng có thể khiến nó hoạt động khá dễ dàng, nhưng những người khác đã báo cáo các vấn đề phổ biến hơn. Vui lòng thử các bước này nếu Apache của bạn không bắt đầu khi bạn sử dụng

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

Đầu tiên, hãy thử bắt đầu Apache trực tiếp với:

brew --version
0

Điều này bỏ qua lệnh Brew Services và thường in ra các vấn đề cụ thể. Nếu bạn có các vấn đề được báo cáo về việc không thể ghi vào các tệp nhật ký, hãy thử xóa tất cả các tệp nhật ký HTTPD nhật ký hiện tại:

brew --version
1

Sau đó, hãy thử bắt đầu lại.

Nếu bạn đã thấy một tin nhắn nói điều gì đó như

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
09, hãy thử thay đổi cấu hình
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
10 trong
🍺  /opt/homebrew/Cellar/httpd/2.4.51: 1,660 files, 32.0MB
2 thành:

brew --version
2

Cài đặt PHP

Nếu bạn có cài đặt PHP hiện tại thông qua Brew, trước tiên bạn cần dọn dẹp thiết lập của mình với hướng dẫn nâng cấp homebrew của chúng tôi trước khi tiếp tục với phần này.

Cho đến cuối tháng 3 năm 2018, tất cả các loại bia liên quan đến PHP đã được xử lý bởi TAB

brew install openssl
0, nhưng điều đó đã được chấp nhận, vì vậy bây giờ chúng tôi sử dụng những gì có sẵn trong gói
brew install openssl
1. Đây sẽ là một bộ gói được duy trì tốt hơn, nhưng là một bộ gói kém đầy đủ hơn nhiều.

Php 7.0 và Php 7.1 đã bị loại bỏ và loại bỏ khỏi bia vì chúng không được hỗ trợ, và trong khi nó không được khuyến nghị sản xuất, có những lý do chính đáng để kiểm tra các phiên bản không được hỗ trợ này trong môi trường phát triển. Các phiên bản này cũng cần "được xây dựng từ nguồn" để sử dụng các phiên bản mới nhất của

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
14 và
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
15.
, and PHP 7.1 have been deprecated and removed from Brew because they are out of support, and while it's not recommended for production, there are legitimate reasons to test these unsupported versions in a development environment. These versions also need to "built from source" in order to use the latest versions of
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
14 and
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
15.

Chỉ nhớ rằng Php 7.2 đến 8.1 được Brew hỗ trợ chính thức, nhưng chúng cũng phải được xây dựng khá chậm. Đối với phiên bản mới nhất của hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng vòi mới từ @shivammahtur vì có nhiều phiên bản (bao gồm cả Php 8.1 mới nhất) được xây dựng trước.PHP 7.2 through 8.1 are officially supported by Brew, but these also have to be built which is pretty slow. For the latest version of our guide we will use the new tap from @shivammahtur as there are many versions (including the latest PHP 8.1) pre-built.

brew --version
3

Chúng tôi sẽ tiến hành bằng cách cài đặt các phiên bản PHP khác nhau và sử dụng một tập lệnh đơn giản để chuyển đổi giữa chúng như chúng tôi cần. Hãy loại trừ bất kỳ phiên bản nào bạn không muốn cài đặt.

brew --version
4

Ngoài ra, bạn có thể có nhu cầu điều chỉnh cài đặt cấu hình của PHP theo nhu cầu của bạn. Một điều phổ biến để thay đổi là cài đặt bộ nhớ hoặc cấu hình

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
16. Các tệp
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
17 cho mỗi phiên bản PHP được đặt trong các thư mục sau:

brew --version
5

Tại thời điểm này, tôi thực sự khuyên bạn nên đóng tất cả các tab và cửa sổ đầu cuối của bạn. Điều này sẽ có nghĩa là mở một thiết bị đầu cuối mới để tiếp tục với bước tiếp theo. Điều này được khuyến nghị mạnh mẽ bởi vì một số vấn đề đường dẫn thực sự kỳ lạ có thể phát sinh với các thiết bị đầu cuối hiện có (tin tôi đi, tôi đã thấy nó!).ALL your terminal tabs and windows. This will mean opening a new terminal to continue with the next step. This is strongly recommended because some really strange path issues can arise with existing terminals (trust me, I have seen it!).

Chúng tôi đã cài đặt nhưng không liên kết các phiên bản PHP này. Để chuyển sang Php

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
18, ví dụ, chúng ta có thể nhập:not linked these PHP versions. To switch to PHP
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
18 for example we can type:

brew --version
6

Kiểm tra nhanh rằng chúng tôi đang ở đúng phiên bản:

brew --version
7
brew --version
8

và để chuyển sang

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

brew --version
6

Và kiểm tra xem nó có thay đổi chính xác không:

brew --version
7
Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
1

Cài đặt Apache PHP - Phần 1

Bạn đã cài đặt thành công các phiên bản PHP của mình, nhưng chúng tôi cần nói với Apache để sử dụng chúng. Bạn sẽ một lần nữa cần chỉnh sửa cuộn tệp

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
5 vào cuối các mục
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
21.

Nếu bạn đã làm theo hướng dẫn này một cách chính xác, mục cuối cùng phải là mô -đun

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
22 của bạn:

eval "$(/opt/homebrew/bin/brew shellenv)"
4

Dưới đây, thêm các mô -đun

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

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
3

Chúng tôi chỉ có thể có một quá trình xử lý mô -đun PHP tại một thời điểm, vì vậy bây giờ, vì vậy chúng tôi đã để lại mục nhập

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
24 của chúng tôi không được đưa ra trong khi tất cả những người khác được bình luận. Điều này sẽ cho Apache sử dụng Php 7.4 để xử lý các yêu cầu PHP. (Chúng tôi sẽ thêm khả năng chuyển đổi phiên bản PHP sau).We will add the ability to switch PHP versions later).

Ngoài ra, bạn phải đặt các chỉ mục thư mục cho PHP rõ ràng, vì vậy hãy tìm kiếm khối này:

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
4

và thay thế nó bằng cái này:

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
5

Lưu tệp và dừng Apache sau đó bắt đầu lại, bây giờ chúng tôi đã cài đặt PHP: the file and stop Apache then start again, now that we have installed PHP:

eval "$(/opt/homebrew/bin/brew shellenv)"
9

Xác thực cài đặt PHP

Cách tốt nhất để kiểm tra nếu PHP được cài đặt và chạy như mong đợi là sử dụng phpinfo (). Đây không phải là thứ bạn muốn để lại trên máy sản xuất, nhưng nó là vô giá trong môi trường phát triển.

Chỉ cần tạo một tệp có tên

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
25 trong thư mục
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
26 mà bạn đã tạo trước đó với một lớp lót này.

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
7

Chỉ trình trình duyệt của bạn đến

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
27 và bạn sẽ thấy một trang thông tin PHP sáng bóng:

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Nếu bạn thấy một kết quả PHPINFO tương tự, xin chúc mừng! Bây giờ bạn có Apache và PHP chạy thành công. Bạn có thể kiểm tra các phiên bản PHP khác bằng cách nhận xét mục nhập

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
28 và không đưa ra một trong những phiên bản khác. Sau đó, chỉ cần khởi động lại Apache và tải lại cùng một trang.phpinfo result, congratulations! You now have Apache and PHP running successfully. You can test the other PHP versions by commenting the
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
28 entry and uncommenting one of the other ones. Then simply restart apache and reload the same page.

Tập lệnh chuyển đổi PHP

Chúng tôi đã mã hóa Apache để sử dụng Php 7.4, nhưng chúng tôi thực sự muốn có thể chuyển đổi giữa các phiên bản. May mắn thay, một số cá nhân cần cù đã thực hiện công việc khó khăn cho chúng tôi và viết một kịch bản chuyển đổi PHP nhỏ rất tiện dụng.PHP 7.4, but we really want to be able to switch between versions. Luckily, some industrious individuals have already done the hard work for us and written a very handy little PHP switcher script.

Tập lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
29 này đã được cập nhật để hỗ trợ Php 8.0. Nếu bạn muốn sử dụng phiên bản đó, vui lòng lặp lại quy trình bên dưới để nhận phiên bản mới nhất.support PHP 8.0. If you want to use that version, please repeat the process below to get the latest version.

Chúng tôi sẽ cài đặt tập lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
29 vào tiêu chuẩn của Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
31:

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
8

Kiểm tra chuyển đổi PHP

Sau khi bạn đã hoàn thành các bước này, bạn sẽ có thể chuyển phiên bản PHP của mình bằng cách sử dụng lệnh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
29 theo sau là giá trị hai chữ số cho phiên bản PHP:

Homebrew 3.3.1 
Homebrew/homebrew-core (git revision 1362c572e16; last commit 2021-10-29)
9

Bạn có thể sẽ phải nhập mật khẩu quản trị viên của mình và nó sẽ cung cấp cho bạn một số phản hồi:

brew doctor
0

Kiểm tra xem Apache của bạn hiện đang chạy Php 7.4 bằng cách một lần nữa trỏ trình duyệt của bạn vào

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
27. Với một chút may mắn, bạn sẽ thấy một cái gì đó như thế này:

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Khắc phục sự cố chuyển mạch PHP

Nếu bạn đã nâng cấp từ phiên bản trước của hướng dẫn này và đã cài đặt PHP8, bạn có thể thấy thông báo như:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
34, thì bạn cần cài đặt lại tập lệnh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
29 đã được cập nhật.

Nếu bạn nhận được một thông điệp về các phiên bản PHP mâu thuẫn, thì có lẽ bạn có xung đột của vòi. Bạn sẽ cần gỡ cài đặt các phiên bản PHP trước đó của mình, sau đó xóa Tap cũ, sau đó thêm vòi mới và sau đó cài đặt lại các phiên bản PHP bằng cú pháp ở trên. Ví dụ:

brew doctor
1

Kiểm tra thiết lập của bạn với Grav CMS!

Cách nào tốt hơn để kiểm tra thiết lập mạnh mẽ mới của bạn hơn là nhanh chóng cài đặt và kiểm tra Grav. CMS FLAT FILE tốt nhất trên thế giới! Chúng ta có thể làm điều này chỉ với một vài lệnh đầu cuối nhanh:The best flat-file CMS in the world 😆! We can do this with just a couple of quick terminal commands:

brew doctor
2
brew doctor
3

Sau đó, chỉ cần trích xuất tệp zip:

brew doctor
4

Điều này sẽ trích xuất zip vào một thư mục

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
36. Sau đó, chỉ cần trỏ trình duyệt của bạn vào thư mục này
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
37:

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Điền vào thông tin liên quan để tạo người dùng Quản trị viên mới và chỉ cần nhấp vào Tạo người dùng để vào quản trị viên. Không có bước nào khác cần thiết.Create User to get into the admin. No other steps needed.

Hướng dẫn multiple php versions macos - nhiều phiên bản php macos

Tất cả đã được làm xong!!!!

Cập nhật PHP và các gói bia khác

Brew làm cho nó siêu dễ dàng để cập nhật PHP và các gói khác bạn cài đặt. Bước đầu tiên là cập nhật bia để có được danh sách các bản cập nhật có sẵn:update Brew so that it gets a list of available updates:

brew doctor
5

Điều này sẽ đưa ra một danh sách các bản cập nhật có sẵn và bất kỳ công thức bị xóa nào. Để nâng cấp các gói chỉ đơn giản là nhập:

brew doctor
6

Bạn sẽ cần chuyển sang từng phiên bản PHP đã cài đặt và chạy lại cập nhật để nhận bản cập nhật cho mỗi phiên bản PHP và đảm bảo bạn đang chạy phiên bản PHP bạn dự định.update again to get updates for each PHP version and ensure you are running the version of PHP you intend.

Kích hoạt các phiên bản PHP cụ thể/mới nhất

Do cách liên kết PHP của chúng tôi được thiết lập, chỉ có một phiên bản PHP được liên kết tại một thời điểm, chỉ có phiên bản hoạt động hiện tại của PHP sẽ được cập nhật lên phiên bản mới nhất. Bạn có thể thấy phiên bản hoạt động hiện tại bằng cách nhập:linked at a time, only the current active version of PHP will be updated to the latest version. You can see the current active version by typing:

brew --version
7

Và bạn có thể thấy các phiên bản cụ thể của gói PHP bằng cách nhập:

brew doctor
8
brew doctor
9

OK, kết thúc phần 1 của chuỗi 3 phần này, hiện tại bạn có cài đặt Apache 2.4 đầy đủ chức năng với cách nhanh chóng và dễ dàng để chuyển đổi giữa Php 7.0, 7.1, 7.2, 7.3, 7.4 và 8.0. Kiểm tra Phần 2 để tìm hiểu cách thiết lập môi trường của bạn với MySQL, máy chủ ảo, Bộ nhớ đệm APC, YAML và XDEBUG. Ngoài ra, hãy thích thú ở Phần 3 để tìm hiểu cách thiết lập SSL cho máy chủ ảo Apache của bạn.MySQL, Virtual Hosts, APC caching, YAML, and Xdebug. Also take a gander at Part 3 to find out how to setup SSL for your Apache Virtual Hosts.