Hướng dẫn multi php version macos - macos phiên bản đa php

Cài đặt PHP multi version trên macOS với Homebrew. Ở môi trường lập trình chúng ta có thể chạy trên các phiên bản php khác nhau để kiểm tra code php trước khi đưa lên chạy thực ở server.

PHP 7.3 là phiên bản mới tại thời điểm hiện tại, phiên bản trước đó là phiên bản PHP 5.6, PHP 7 được thiết kế lại cho tốc độ xử lý nhanh hơn so với các phiên bản cũ. Tuy nhiên ở bài viết này mình sẽ chỉ sử dụng phiên bản php 5.6 và 7.2 vì sự thông dụng của nó.

Cài đặt PHP

Cài đặt phiên bản php 5.6 chúng ta sử dụng lệnh sau

brew install 

Hướng dẫn multi php version macos - macos phiên bản đa php

Cài đặt phiên bản php 7.2 chúng ta sử dụng lệnh sau

brew install 

Hướng dẫn multi php version macos - macos phiên bản đa php

Sau khi cài xong chúng ta sẽ có thư mục như sau:

Hướng dẫn multi php version macos - macos phiên bản đa php

Bây giờ chúng ta sẽ tiếp tục cấu hình để có thể chạy php.

Cấu hình PHP trên macOS

Mở file /usr/local/etc/php/5.6/php-fpm.conf

Tìm:

user = _www
group = _www

Thay bằng

user = nginx
group = nginx

Tìm:

listen = 127.0.0.1:9072
6

Thay bằng

listen = 127.0.0.1:9072
7

Mở file /usr/local/etc/php/7.2/php-fpm.d/www.conf

Tìm:

user = _www
group = _www

Thay bằng

user = nginx
group = nginx

Tìm:

listen = 127.0.0.1:9000

Thay bằng

listen = 127.0.0.1:9072

Mở file /usr/local/etc/php/7.2/php-fpm.d/www.conf

  • Các lệnh điều khiển php

Khởi chạy php

brew services start 
brew services start 

brew services restart 
brew services restart 

Chạy lại php

brew install 
0

Tắt php

Cấu hình host nginx với php

Các ban có thể tham khảo thêm Cấu hình cho host trên LEMP để biết thêm chi tiết về các cấu hình host. Ở đây mình hướng dẫn các bạn cấu hình để chạy multi version php.

Các bạn mở file /usr/local/etc/nginx/nginx.conf là file cấu hình mặc định của nginx:

brew install 
1

Thay toàn bộ block:

brew install 
2

Bằng đoạn block dưới

brew install 
3

Đoạn trên khai báo server localhost chạy trên cổng 8072, php được chạy qua cổng 9072 được config ở trên là phiên bản php 7.2 tương ứng. Tương tự ta bổ sung block khai báo để chạy php 5.6 qua cổng 8056

Sau khi khai báo xong chúng ta khởi chạy lại nginx và chạy 2 phiên bản php. Tạo một file info.php ở thư mục gốc của nginx (/usr/local/var/www) chỉ có hàm phpinfo() để test.

brew install 
4

Hướng dẫn multi php version macos - macos phiên bản đa php

Sau khi khai báo xong chúng ta khởi chạy lại nginx và chạy 2 phiên bản php. Tạo một file info.php ở thư mục gốc của nginx (/usr/local/var/www) chỉ có hàm phpinfo() để test.

brew install 
5

Hướng dẫn multi php version macos - macos phiên bản đa php

Truy cập vào trình duyệt:

Nếu hiện kết quả như hình trên coi như chúng ta đã cài đặt thành công multi version php.

Kết luận

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

listen = 127.0.0.1:9072
8 và đang tìm cách nâng cấp lên cách tiếp cận
listen = 127.0.0.1:9072
9 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
listen = 127.0.0.1:9072
9 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:

brew install 
6

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 services start 
brew services start 
0, 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 Terminal (
brew services start 
brew services start 
1) của mình và sau đó nhập:Homebrew. Using the
brew services start 
brew services start 
0 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 services start 
brew services start 
1) application and then enter:

brew install 
7

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 services start 
brew services start 
2 hoặc
brew services start 
brew services start 
3:

brew install 
8

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 services start 
brew services start 
0, chỉ cần nhập:

brew install 
9
user = _www
group = _www
0

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:

user = _www
group = _www
1

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ờ:

user = _www
group = _www
2

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:

user = _www
group = _www
3

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

user = _www
group = _www
4

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

brew services start 
brew services start 
5 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ư:

user = _www
group = _www
5

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

user = _www
group = _www
6

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 services start 
brew services start 
6, 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 multi php version macos - macos phiên bản đa php

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.

user = _www
group = _www
7

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:

user = _www
group = _www
8

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 đề:

user = _www
group = _www
9

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

brew services start 
brew services start 
7 để một số lệnh hữu ích sử dụng là:

user = nginx
group = nginx
0

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

brew services start 
brew services start 
8 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

brew services start 
brew services start 
9 CLI đi kèm trong một lần bắn với:

user = nginx
group = nginx
1

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

brew services start 
brew services start 
9 với:

user = nginx
group = nginx
2

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à

brew services restart 
brew services restart 
1 thành
brew services restart 
brew services restart 
2, vì vậy chúng tôi sẽ cần chỉnh sửa tệp cấu hình của Apache
brew services restart 
brew services restart 
3.

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

brew services start 
brew services start 
9. 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
brew services restart 
brew services restart 
5 theo sau là đường dẫn đến tệp.Visual Studio Code to edit your files using the
brew services start 
brew services start 
9 Terminal command. However, if you want to use the default TextEditor application to perform edits, you can use the
brew services restart 
brew services restart 
5 command followed by the path to the file.

user = nginx
group = nginx
3

Hướng dẫn multi php version macos - macos phiên bản đa php

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

user = nginx
group = nginx
4

và thay đổi nó thành

brew services restart 
brew services restart 
2:

user = nginx
group = nginx
5

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à

brew services restart 
brew services restart 
7. 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
brew services restart 
brew services restart 
7. 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 services restart 
brew services restart 
8 và bạn sẽ thấy dòng sau:

user = nginx
group = nginx
6

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

brew services restart 
brew services restart 
9 là tên của tài khoản người dùng của bạn:

user = nginx
group = nginx
7

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

brew install 
00 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:

user = nginx
group = nginx
8

Trong cùng một khối

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

user = nginx
group = nginx
9

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 
03 và giải nén dòng bằng cách loại bỏ
brew install 
04 hàng đầu bằng cách đẩy
brew install 
05 +
brew install 
06 trên dòng (đây là 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 
03 and uncomment the line by removing the leading
brew install 
04 by pushing
brew install 
05 +
brew install 
06 on the line (this is a quick way to uncomment and comment a single or multiple lines:

user = _www
group = _www
0

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 
07 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
brew install 
08 và nhóm
brew install 
08. Đ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
brew install 
10, có hai cài đặt để đặt
brew install 
11 và
brew install 
12 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 services restart 
brew services restart 
9 bằng tên người dùng thực của bạn), với một nhóm
brew install 
14:

user = _www
group = _www
1

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:

user = _www
group = _www
2

và thay thế nó bằng:

user = _www
group = _www
3

Thư mục trang web

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

brew install 
07 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 
07 mới này tạo ra một
brew install 
17 đơn giản và đặt một số nội dung giả trong đó như:
brew install 
18.

user = _www
group = _www
4

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:

user = _www
group = _www
5

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

brew install 
19 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

brew install 
20 mà chúng tôi đã sử dụng trước đó. Ngoài ra, bạn có thể cần phải
brew install 
21 +
brew install 
22 để xóa bộ đệm trình duyệt và chọn tệp mới.

Hướng dẫn multi php version macos - macos phiên bản đa php

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 được sự trợ giúp "trực tiếp".

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

brew install 
23 sang khởi chạy
brew services start 
brew services start 
5 với gốc (mặc dù nó chạy như người dùng/nhóm được xác định trong
brew install 
10) 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

brew install 
26.

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

user = _www
group = _www
6

Đ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:

user = _www
group = _www
7

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ư

brew install 
27, hãy thử thay đổi cấu hình
brew install 
28 trong
brew install 
10 thành:

user = _www
group = _www
8

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ằng TAB

listen = 127.0.0.1:9072
8, 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
listen = 127.0.0.1:9072
9. Đâ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

brew install 
32 và
brew install 
33.
, 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
brew install 
32 and
brew install 
33.

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.

user = _www
group = _www
9

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.

user = nginx
group = nginx
0

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

brew install 
34. Các tệp
brew install 
35 cho mỗi phiên bản PHP được đặt trong các thư mục sau:

user = nginx
group = nginx
1

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

brew install 
36, ví dụ, chúng ta có thể nhập:not linked these PHP versions. To switch to PHP
brew install 
36 for example we can type:

user = nginx
group = nginx
2

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

user = nginx
group = nginx
3
user = nginx
group = nginx
4

và để chuyển sang

brew install 
37:

user = nginx
group = nginx
2

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

user = nginx
group = nginx
3
user = nginx
group = nginx
7

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

brew services restart 
brew services restart 
3 vào cuối các mục
brew install 
39.

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

brew install 
40 của bạn:

user = _www
group = _www
0

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

brew install 
41 sau:

user = nginx
group = nginx
9

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

brew install 
42 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:

listen = 127.0.0.1:9000
0

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

listen = 127.0.0.1:9000
1

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:

user = _www
group = _www
5

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

brew install 
43 trong thư mục
brew install 
44 mà bạn đã tạo trước đó với một lớp lót này.

listen = 127.0.0.1:9000
3

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

brew install 
45 và bạn sẽ thấy một trang thông tin PHP sáng bóng:

Hướng dẫn multi php version macos - macos phiên bản đa php

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

brew install 
46 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
brew install 
46 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

brew install 
47 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

brew install 
47 vào tiêu chuẩn
brew install 
49:

listen = 127.0.0.1:9000
4

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 đổi phiên bản PHP của mình bằng cách sử dụng lệnh

brew install 
47 theo sau là giá trị hai chữ số cho phiên bản PHP:

listen = 127.0.0.1:9000
5

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:

listen = 127.0.0.1:9000
6

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

brew install 
45. 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 multi php version macos - macos phiên bản đa php

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ư:

brew install 
52, thì bạn cần cài đặt lại tập lệnh
brew install 
47 đã đượ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ụ:

listen = 127.0.0.1:9000
7

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:

listen = 127.0.0.1:9000
8
listen = 127.0.0.1:9000
9

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

listen = 127.0.0.1:9072
0

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

brew install 
54. Sau đó, chỉ cần trỏ trình duyệt của bạn vào thư mục này
brew install 
55:

Hướng dẫn multi php version macos - macos phiên bản đa php

Đ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 multi php version macos - macos phiên bản đa php

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:

listen = 127.0.0.1:9072
1

Đ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:

listen = 127.0.0.1:9072
2

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:

user = nginx
group = nginx
3

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:

listen = 127.0.0.1:9072
4
listen = 127.0.0.1:9072
5

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.