Tôi chủ yếu làm việc với Docker, nhưng đôi khi việc cài đặt PHP cục bộ cho một số hành động CLI cũng rất hữu ích. Để cài đặt Phiên bản PHP cụ thể, tôi đang sử dụng Homebrew cho macOS. Mac cung cấp Phiên bản PHP được cài đặt sẵn, nhưng phiên bản này hầu hết đã lỗi thời
Để cài đặt Phiên bản PHP mới nhất, bạn có thể chạy lệnh sau
brew install php
Cũng có thể cài đặt các phiên bản cũ hơn như thế này
brew install php@7.4
Homebrew chỉ duy trì các phiên bản không deprecatd. Nếu bạn phải sử dụng phiên bản không dùng nữa vì một số lý do, bạn có thể thực hiện các thao tác sau
brew tap exolnet/homebrew-deprecated
brew install php@5.6
Nếu bạn cần chuyển đổi giữa các phiên bản PHP, trước tiên bạn phải hủy liên kết phiên bản PHP hiện được liên kết và liên kết phiên bản mong muốn
brew unlink php
brew link php@7.4 --force --overwrite
Đây không phải là cách xử lý chuyển đổi phiên bản hiệu quả nhất so với Trình quản lý phiên bản nút hoặc rbenv cho Ruby, nhưng cũng đủ vì điều này có thể sẽ không xảy ra quá nhiều
Đây là nơi quảng cáo sẽ đến. Tuy nhiên, thay vào đó, tôi muốn hướng bạn tới trang Nhà tài trợ GitHub của tôi. Nếu bạn là độc giả thường xuyên và nội dung của tôi đang giúp ích cho bạn, bạn có thể xem xét tài trợ một lần hoặc hàng tháng. Nếu bạn là một công ty đang tìm kiếm các vị trí đặt quảng cáo chuyên dụng trên blog này hoặc bản tin của tôi, bạn có thể gửi email cho tôi theo địa chỉ brendt@stitcher. io
Nâng cấp với Homebrew
Bắt đầu bằng cách đảm bảo brew được cập nhật
brew update
Tiếp theo, nâng cấp PHP. Bạn có thể sử dụng công thức php có sẵn, nhưng tôi khuyên bạn nên sử dụng vòi
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
1nâng cấp bình thường
brew upgrade php
Nâng cấp với brew tap shivammathur/php
brew install shivammathur/php/php@8.2
1
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
Để chuyển đổi giữa các phiên bản, hãy sử dụng lệnh sau
brew link --overwrite --force php@8.2
Bạn có thể đọc thêm trong kho lưu trữ
Bước tiếp theo
Kiểm tra phiên bản hiện tại bằng cách chạy
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
3php -v
Khởi động lại Nginx hoặc Apache, nếu bạn đang sử dụng Laravel Valet, bạn có thể chuyển sang phần tiếp theo;
sudo nginx -s reload
sudo apachectl restart
Và đảm bảo rằng máy chủ web cục bộ của bạn cũng sử dụng PHP 8. 2 bằng cách truy cập tập lệnh này
# index.php, accessible to your web server
phpinfo[];
Phiên bản sẽ hiển thị
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
4Sự phát triển của NULL trong PHP
người phục vụ
Nếu bạn đang sử dụng Laravel Valet, bạn nên thực hiện các bước sau để nâng cấp nó
composer global update
Bạn có thể sử dụng
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
5 để chuyển đổi giữa các phiên bản PHPvalet use php@8.2
valet use php@8.1
Tiện ích mở rộng
Các tiện ích mở rộng PHP được cài đặt bằng pecl. Cá nhân tôi sử dụng Redis và Xdebug. Chúng có thể được cài đặt như vậy
brew upgrade php
0Bạn có thể chạy
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
6 để xem tiện ích mở rộng nào đã được cài đặtbrew upgrade php
1Bạn có thể tìm kiếm các tiện ích mở rộng khác bằng cách sử dụng
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
7brew upgrade php
2Đảm bảo khởi động lại máy chủ web của bạn sau khi cài đặt các gói mới
sudo nginx -s reload
sudo apachectl restart
brew upgrade php
5Đảm bảo rằng tất cả các tiện ích mở rộng đều được cài đặt và tải đúng cách bằng cách kiểm tra cả cài đặt máy chủ web PHP và CLI của bạn
brew upgrade php
6brew upgrade php
7Nếu tiện ích mở rộng không được tải đúng cách, có hai cách khắc phục dễ dàng
Trước tiên, hãy đảm bảo rằng các tiện ích mở rộng được thêm vào đúng tệp ini. Bạn có thể chạy
brew tap shivammathur/php
brew install shivammathur/php/php@8.2
8 để biết tệp nào được tảibrew upgrade php
8Bây giờ hãy kiểm tra tệp ini
brew upgrade php
9Lưu ý rằng nếu bạn đang thử nghiệm các tiện ích mở rộng đã cài đặt qua CLI, bạn không cần khởi động lại nginx, apache hoặc Valet khi thực hiện các thay đổi đối với cài đặt ini
Điều thứ hai bạn có thể làm, nếu bạn đang cập nhật từ phiên bản PHP cũ hơn cũng sử dụng pecl để cài đặt tiện ích mở rộng;