Hướng dẫn này sẽ chỉ cho bạn cách di chuyển từ PHP 7. x sang PHP 8 trên máy chủ web Apache. Kiểm tra hướng dẫn di chuyển để biết các tính năng mới và các thay đổi không tương thích
điều kiện tiên quyết
- Ubuntu Linux 20 được cập nhật đầy đủ. 04 máy chủ, chạy Apache
Trước khi tiếp tục, bạn nên sao lưu máy chủ của mình. Sau đó, kiểm tra bản sao lưu bằng cách triển khai một phiên bản mới từ bản sao lưu, sau đó xác minh rằng phiên bản thử nghiệm khởi động và có dữ liệu chính xác. Nếu bạn không sao lưu trước khi thực hiện, bạn có nguy cơ bị mất dữ liệu
1. Liệt kê các mô-đun PHP đã cài đặt
Trước khi nâng cấp PHP, hãy tìm hết PHP 7. x hiện được cài đặt trên máy chủ. Chúng sẽ cần được nâng cấp cùng với lõi PHP lên 8 phiên bản tương ứng
Ghi lại số phiên bản của bản cài đặt PHP hiện tại;
$ dpkg -l | grep php
Output:
php-common install
php7.x-cli install
php7.x-curl install
[...]
2. Cài đặt PHP8
Ubuntu có thể chưa có PHP phiên bản 8 trong kho lưu trữ chính thức của nó và bạn có thể cài đặt PHP 8 từ kho lưu trữ
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
2, kho lưu trữ lâu đời và được cộng đồng tin cậy cho các gói Ubuntu PHPThêm kho lưu trữ cần thiết
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
Cài đặt PHP8
$ sudo apt install php8.0
3. Cài đặt mô-đun
Cài đặt các mô-đun PHP liên quan; . Vui lòng quay lại bước 1 và cài đặt thủ công bất kỳ mô-đun cần thiết nào bị thiếu, thay thế
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
3 bằng $ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
4$ sudo apt install php8.0-common php8.0-fpm php8.0-mysql php8.0-gmp php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-mbstring php8.0-gd php8.0-dev php8.0-imap php8.0-opcache php8.0-readline php8.0-soap php8.0-zip php8.0-intl php8.0-cli libapache2-mod-php8.0
Sau khi hoàn thành, khởi động lại PHP
$ sudo systemctl restart php8.0-fpm.service
Xác minh PHP đã được cài đặt chính xác
________số 83. Kích hoạt PHP 8 trong Apache
Các tập lệnh
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
5 và $ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
6 có thể được sử dụng để bật và tắt các phiên bản PHP trong ApacheVô hiệu hóa phiên bản PHP trước đó đã cài đặt. Thay thế
3 bằng số phiên bản được ghi ở bước 1$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
2$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Kích hoạt PHP 8
3$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Khởi động lại máy chủ web Apache
4$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
4. Xác minh Apache đang sử dụng PHP 8
Điều hướng đến thư mục gốc của trang web trên máy chủ. Đối với ví dụ này, gốc của tài liệu là
8$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
6$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Tạo một tệp PHP
0$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Thêm nội dung sau vào tệp
1$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Mở trình duyệt và truy cập tệp tại
9 hoặc$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
0 và xác minh rằng nó hiển thị đúng phiên bản PHP$ sudo apt install php8.0
Hãy nhớ xóa
1 khi hoàn tất để tránh lộ thông tin nhạy cảm về máy chủ của bạn$ sudo apt install php8.0
Tôi đã sử dụng Apache làm máy chủ web phát triển cục bộ mặc định kể từ khi tôi bắt đầu viết mã PHP vào năm 2006. Hồi đó, Nginx mới được 2 tuổi và mọi máy chủ web đều chạy Apache, vì vậy điều đó thật dễ hiểu. Trong những năm qua, tôi đã thích Nginx hơn trên các máy chủ web của mình, nhưng tôi vẫn thích Apache cục bộ hơn vì tôi thấy nó dễ sử dụng và cấu hình hơn
Nhìn chung, tôi luôn có thể sử dụng phiên bản ổn định mới nhất của PHP với Apache cho tất cả các dự án web của mình. Tuy nhiên, tốc độ mà các phiên bản PHP hiện đang được phát hành có nghĩa là trong một số trường hợp [chủ yếu liên quan đến WordPress], tôi không thể luôn chạy phiên bản mới nhất cục bộ
Vì vậy, trong bài đăng này, tôi sẽ trình bày chi tiết cách cài đặt phiên bản ổn định mới nhất của bản phát hành PHP hiện tại [hiện tại là 8. 1] cùng với phiên bản ổn định mới nhất của bản phát hành PHP trước đó [7. 4] sử dụng Apache trên Ubuntu
Thiết lập ban đầu và PHP 8. 1
Cách ổn định nhất để cài đặt nhiều phiên bản PHP trên hệ thống Debian hoặc Ubuntu là sử dụng kho PPA cho Debian hoặc Ubuntu mà Ondřej Surý duy trì. Ondřej đã duy trì các PPA chính thức này cho Debian kể từ PHP 5, vì vậy tôi thực sự khuyên bạn nên hỗ trợ công việc của anh ấy
Việc cài đặt kho lưu trữ dưới dạng PPA trên hệ thống dựa trên Debian của bạn được thực hiện bằng cách sử dụng lệnh
29$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
3$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Mặc dù không bắt buộc nhưng bạn cũng nên cài đặt kho lưu trữ cho phiên bản Apache2 mà Ondřej cung cấp
4$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Cuối cùng, hãy cập nhật hệ thống của bạn để đảm bảo rằng bạn đang tải phần mềm từ kho lưu trữ mới được thêm vào
2$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Sau đó, nếu bạn cài đặt PHP và tất cả các mô-đun và gói PHP cần thiết, PHP 8. 1 sẽ được cài đặt làm phiên bản PHP mặc định của bạn
6$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Nếu bạn cần thêm bất kỳ cài đặt cấu hình PHP cụ thể nào vào bản cài đặt của mình, tôi khuyên bạn nên thực hiện việc này trong một người dùng tùy chỉnh. ini mà bạn có thể tạo như ở đây
7$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Chuyển toàn bộ máy chủ sang sử dụng PHP 7. 4
Bây giờ hệ thống của bạn đang chạy phiên bản PHP mới nhất, bạn có thể cài đặt các phiên bản khác. Bạn nên cài đặt lại phiên bản chính ổn định nhất trước đó, trong trường hợp này là PHP 7. 4. Lưu ý rằng lệnh này giống như lệnh trước, chỉ với số phiên bản cụ thể
8$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Điều này sẽ cho phép bạn cài đặt cả hai phiên bản, nhưng chỉ PHP 8. 1 đang hoạt động. Để chuyển phiên bản PHP đang hoạt động của bạn sang PHP 7. 4, bạn chạy các lệnh
60 này$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
0$ sudo apt install php8.0
Nếu bạn muốn PHP 8 của bạn. 1 cài đặt tùy chỉnh có sẵn cho PHP 7. 4, bạn có thể sao chép người dùng. tập tin ini
1$ sudo apt install php8.0
Để chuyển về PHP 8. 1, chỉ cần chạy các lệnh
60, nhưng thay đổi số phiên bản thành 8. 1$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Chạy PHP8. 1 và PHP7. 4 trên cùng một máy chủ
Đôi khi, bạn có thể muốn có PHP 8. 1 làm mặc định, nhưng bật PHP 7. 4 cho một trang web cụ thể. Điều này có thể thực hiện được bằng cách sử dụng Trình quản lý quy trình FastCGI cho PHP, hay còn gọi là
62. Thực tế, những gì bạn làm là cài đặt$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
62 cho 7. 4, sau đó bạn có thể định cấu hình tệp máy chủ ảo Apache của trang web của mình để đặt phiên bản PHP$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Đầu tiên, cài đặt các gói cần thiết cho PHP 7. 4
5$ sudo apt install php8.0
Sau đó, bắt đầu
64$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
7$ sudo apt install php8.0
Kiểm tra trạng thái bằng cách chạy lệnh này
40$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Bạn sẽ thấy một cái gì đó như thế này
41$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Tiếp theo, kích hoạt proxy FastCGI
42$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Nếu mọi thứ hoạt động, bạn sẽ thấy một cái gì đó như thế này
43$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Khởi động lại Apache để đảm bảo mọi thứ được thiết lập chính xác
44$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Bước cuối cùng là truy cập tệp máy chủ ảo Apache của trang web của bạn và thêm PHP 7. 4 khối vào khối VirtualHost
45$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
46$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Điều này yêu cầu Apache sử dụng php7. 4-fpm cho trang web này. Khi bạn đã lưu tệp đó, hãy khởi động lại Apache
44$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Nếu bạn đang thiết lập điều này cho môi trường phát triển cục bộ, bạn có thể đã đặt người dùng Apache thành người dùng gia đình của mình để Apache đọc các tệp cho bất kỳ trang web cục bộ nào. Nếu đây là trường hợp, bạn có thể cần phải cập nhật www. conf cho php7. Nhóm 4-fpm và đặt người dùng thành cùng một người dùng hệ thống
48$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
49$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Cuối cùng, bạn sẽ cần đặt người dùng tùy chỉnh. ini cho php7. quy trình 4-fpm [hoặc cách khác sao chép một trong những người dùng hiện tại của bạn. tập tin ini]
20$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Và khởi động lại php7. 4-fpm để những thay đổi này có hiệu lực
21$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Cài đặt các phiên bản PHP bổ sung
Với php-fpm, bạn có thể cài đặt các phiên bản PHP bổ sung và chỉ cần kích hoạt chúng trên mỗi trang web. Hãy cài đặt PHP 8. 0 qua fpm
Cài đặt các gói phiên bản cụ thể
22$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Bắt đầu dịch vụ php-fpm cụ thể
23$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Đặt người dùng nhóm PHP
24$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update
Cuối cùng, đặt trình xử lý tệp PHP trong tệp máy chủ ảo Apache của trang web, đảm bảo sử dụng đúng phiên bản php-fpm
Làm cách nào để thay đổi phiên bản PHP trên Apache?
Dành cho PHP 8. 0 hoạt động chính xác trong chế độ "PHP as Apache", hãy bật tùy chọn PHP-FPM FastCGI trong các tính năng của máy chủ web. Cài đặt → Tính năng → Máy chủ web [WWW] → Nút chỉnh sửa . Đối với FastCGI [Nginx + PHP-FPM], phiên bản có thể được thay đổi trong danh sách PHP ở cấp người dùng hoặc trong chỉnh sửa người dùng từ cấp quản trị viên.Apache của tôi đang sử dụng phiên bản PHP nào?
Nhập php -v hiện hiển thị phiên bản PHP được cài đặt trên hệ thống Windows của bạn.Làm cách nào để thay đổi phiên bản PHP trong Apache Ubuntu?
Chạy các phiên bản PHP khác nhau với Apache trên Ubuntu .Thiết lập ban đầu và PHP 8. 1. .Chuyển toàn bộ máy chủ sang sử dụng PHP 7. 4. .Chạy PHP8. 1 và PHP7. 4 trên cùng một máy chủ. .Cài đặt các phiên bản PHP bổ sung. .Xóa PPA tùy chỉnhLàm cách nào để thay đổi phiên bản PHP mặc định?
Để thay đổi phiên bản PHP mặc định trong người dùng Shell của bạn. .Đăng nhập vào người dùng của bạn thông qua SSHHãy chắc chắn rằng bạn đang ở trong thư mục người dùng của bạn bằng cách chạy như sau. .Xem bài viết tạo và chỉnh sửa tệp qua SSH để được hướng dẫn cách chỉnh sửa tệp hiện có của bạn. .Lưu và đóng tệp và quay lại trình bao của bạn