.
- 1 1. Giới thiệu
- 2 2. Yêu cầu và chuẩn bị
- 3 3. Cách cài đặt PHP
- 4 4. Xác Minh Hoạt Động Của PHP
- 5 5. Cài Đặt Các Mô-đun PHP Thông Dụng
- 6 6. Quản Lý và Chuyển Đổi Phiên Bản PHP
- 7 7. Tích hợp PHP với Apache và Nginx
- 8 8. Khắc phục sự cố
- 9 9. Tổng kết
- 10 10. Câu hỏi thường gặp (FAQ)
- 10.1 Câu hỏi 1. Làm thế nào để cài đặt phiên bản PHP mới nhất trên Ubuntu?
- 10.2 Câu hỏi 2. Làm sao chuyển đổi phiên bản PHP trong CLI?
- 10.3 Câu hỏi 3. Mã nguồn PHP được hiển thị trong Apache.
- 10.4 Câu hỏi 4. php.ini nằm ở đâu?
- 10.5 Câu hỏi 5. Làm sao bật các mô-đun PHP?
- 10.6 Câu hỏi 6. PHP không hoạt động với Nginx.
- 10.7 Câu hỏi 7. Lỗi PHP không hiển thị.
1. Giới thiệu
Tại sao sử dụng PHP trên Ubuntu
PHP là một ngôn ngữ kịch bản phía máy chủ được sử dụng rộng rãi trong nhiều ứng dụng web, bao gồm WordPress. Nó đã được sử dụng mạnh mẽ trong phát triển web trong nhiều năm, và một số lượng lớn các nền tảng CMS và framework được xây dựng trên PHP.
Ubuntu là một bản phân phối Linux rất ổn định, được các nhà phát triển trên toàn thế giới sử dụng và đặc biệt phù hợp cho môi trường máy chủ. Sự kết hợp giữa Ubuntu và PHP được áp dụng rộng rãi, từ các thiết lập phát triển cá nhân đến các hệ thống sản xuất cấp doanh nghiệp.
Đối tượng độc giả và mục đích của bài viết này
Bài viết này hướng tới một dải người dùng rộng, từ người mới bắt đầu muốn cài đặt PHP trên Ubuntu nhưng chưa biết bắt đầu từ đâu, đến người dùng trung cấp cần cài đặt các phiên bản PHP cụ thể. Các quy trình được giải thích càng rõ ràng càng tốt.
Các hướng dẫn dựa trên Ubuntu 22.04 LTS, nhưng các bước cơ bản tương tự cũng áp dụng cho các phiên bản khác.
Những gì bạn sẽ học
Khi đọc bài viết này, bạn sẽ có thể hiểu và thực hành các nội dung sau:
- Các phương pháp cơ bản để cài đặt PHP trên Ubuntu
- Cách cài đặt và chuyển đổi giữa nhiều phiên bản PHP
- Cách kiểm tra hoạt động của PHP và khắc phục sự cố
- Cấu hình tích hợp với Apache và Nginx
- Cách cài đặt các mô-đun PHP thường dùng
2. Yêu cầu và chuẩn bị
Cách kiểm tra phiên bản Ubuntu của bạn
Đầu tiên, kiểm tra phiên bản Ubuntu bạn đang sử dụng. Các phương pháp cài đặt PHP và các mô-đun hỗ trợ có thể hơi khác nhau tùy vào phiên bản Ubuntu.
Bạn có thể kiểm tra phiên bản Ubuntu bằng cách chạy lệnh sau:
lsb_release -a
Hoặc bạn có thể sử dụng lệnh này:
cat /etc/os-release
Bài viết này giải thích các quy trình dựa trên Ubuntu 22.04 LTS, nhưng các bước tương tự thường áp dụng cho Ubuntu 20.04 và 23.10.
Giữ các gói hệ thống luôn cập nhật
Trước khi cài đặt PHP, việc cập nhật tất cả các gói hệ thống là rất quan trọng. Điều này giúp ngăn ngừa các vấn đề phụ thuộc và xung đột.
sudo apt update
sudo apt upgrade -y
Lệnh này cập nhật chỉ mục gói APT và đảm bảo rằng tất cả các gói có thể được cài đặt ở phiên bản ổn định mới nhất.
Cài đặt các tiện ích cần thiết
Một số phiên bản PHP yêu cầu công cụ bổ sung để quản lý các kho lưu trữ. Gói software-properties-common cần thiết để thêm các kho như PPA.
Nếu chưa được cài đặt, hãy cài đặt nó bằng lệnh sau:
sudo apt install -y software-properties-common
Gói này cần cho các lệnh như add-apt-repository, thường được sử dụng khi cài đặt các phiên bản PHP cụ thể qua PPA.
Sử dụng quyền root hoặc sudo
Hầu hết các thao tác được giới thiệu trong bài viết này yêu cầu thay đổi ở mức hệ thống. Hãy chắc chắn sử dụng sudo khi chạy các lệnh.
3. Cách cài đặt PHP
Có hai cách chính để cài đặt PHP trên Ubuntu. Một là cài đặt từ các kho lưu trữ mặc định, và cách còn lại là cài đặt một phiên bản cụ thể bằng PPA (Personal Package Archive). Mỗi phương pháp sẽ được giải thích chi tiết dưới đây.
Cài đặt PHP từ kho mặc định
Ubuntu cung cấp một phiên bản PHP ổn định trong các kho mặc định của nó. Nếu bạn không cần một phiên bản cụ thể, đây là cách dễ nhất.
sudo apt install -y php
Sau khi cài đặt, xác minh rằng PHP đã được cài đặt đúng cách:
php -v
Ví dụ đầu ra:
PHP 8.1.2 (cli) (built: ...)
Trên Ubuntu 22.04, PHP 8.1 được cài đặt mặc định.
Cài đặt một phiên bản PHP cụ thể bằng PPA
Nếu bạn muốn sử dụng phiên bản PHP mới nhất hoặc quản lý nhiều phiên bản, bạn có thể thêm ondrej/php PPA.
Bước 1: Thêm kho PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
PPA này được cộng đồng Ubuntu sử dụng rộng rãi và cung cấp các bản dựng ổn định cho nhiều phiên bản PHP.
Bước 2: Cài đặt phiên bản PHP mong muốn
Ví dụ, để cài đặt PHP 8.2:
sudo apt install -y php8.2
.Bạn cũng có thể cài đặt các phiên bản khác như PHP 7.4 hoặc 8.0.
Bước 3: Xác Minh Phiên Bản Đã Cài Đặt
php -v
4. Xác Minh Hoạt Động Của PHP
Sau khi cài đặt PHP, hãy xác minh rằng nó hoạt động đúng. Bạn có thể kiểm tra qua dòng lệnh và thông qua máy chủ web như Apache hoặc Nginx.
Xác Minh Qua Dòng Lệnh (CLI)
Đầu tiên, kiểm tra phiên bản PHP từ terminal:
php -v
Kết Quả Ví Dụ:
PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
Xác Minh Qua Máy Chủ Web (Apache)
Nếu Apache đã được cài đặt, tạo một trang thử nghiệm bằng hàm phpinfo().
1. Tạo Tập Tin Thử Nghiệm
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Truy Cập Qua Trình Duyệt
http://localhost/info.php
3. Xác Nhận Kết Quả
Nếu thông tin chi tiết của PHP được hiển thị, PHP đang hoạt động đúng với Apache.
🔍 Lưu ý: Kết quả
phpinfo()chứa thông tin nhạy cảm. Hãy xóa tập tin này sau khi xác minh.
sudo rm /var/www/html/info.php
Xác Minh Với Nginx + PHP‑FPM
Khi sử dụng Nginx, PHP được xử lý qua php-fpm. Để xác minh tích hợp đúng, hãy đảm bảo các tệp .php được cấu hình chính xác trong file cấu hình Nginx, sau đó tạo một tệp info.php giống như khi dùng Apache.
Nếu cấu hình không đúng, bạn có thể gặp lỗi 500 hoặc tệp sẽ được tải về thay vì thực thi. Trong những trường hợp này, hãy kiểm tra lại các thiết lập như fastcgi_pass và include fastcgi-php.conf; trong file cấu hình Nginx.
5. Cài Đặt Các Mô-đun PHP Thông Dụng
Chỉ cài đặt PHP không cung cấp mọi chức năng. Nhiều tính năng được cung cấp dưới dạng các mô-đun (extension) riêng biệt và cần được cài đặt khi cần. Phần này giới thiệu các mô-đun PHP thường dùng trong phát triển và vận hành thực tế.
Mô-đun PHP Là Gì?
Mô-đun PHP (còn gọi là extension) bổ sung các khả năng cụ thể như kết nối cơ sở dữ liệu, xử lý chuỗi đa byte, xử lý ảnh và phân tích XML.
Các mô-đun được cung cấp dưới dạng gói APT và có thể cài đặt như sau:
sudo apt install php-module-name
Nếu bạn muốn chỉ định phiên bản, sử dụng định dạng như php8.2-mbstring.

Các Mô-đun PHP Chính và Công Dụng Của Chúng
php-mbstring (Hỗ Trợ Chuỗi Đa Byte)
Mô-đun này là thiết yếu để xử lý các chuỗi ký tự đa byte như tiếng Nhật. Nó gần như bắt buộc đối với các website và xử lý email tiếng Nhật.
sudo apt install php-mbstring
php-mysql (Kết Nối MySQL / MariaDB)
Mô-đun này cần thiết khi kết nối tới các cơ sở dữ liệu như MySQL hoặc MariaDB. Nó là yếu tố quan trọng cho các ứng dụng như WordPress.
sudo apt install php-mysql
php-gd (Xử Lý Ảnh)
Mô-đun này được dùng để tạo, chuyển đổi và thay đổi kích thước ảnh, thường được sử dụng cho thumbnail và các thao tác ảnh khác.
sudo apt install php-gd
php-xml (Xử Lý XML)
Mô-đun này cần thiết để làm việc với dữ liệu dựa trên XML như RSS feed và dịch vụ SOAP. Nó thường xuất hiện trong các nền tảng CMS và tích hợp API.
sudo apt install php-xml
php-curl (Giao Tiếp HTTP)
Mô-đun này cho phép thực hiện các yêu cầu HTTP từ máy chủ, ví dụ khi tích hợp với các API bên ngoài. Nó là yêu cầu bắt buộc của nhiều framework hiện đại.
sudo apt install php-curl
php-zip (Xử Lý Tập Tin Nén)
Mô-đun này cho phép tạo và giải nén các file ZIP và thường được dùng trong các tính năng tải lên tập tin.
sudo apt install php-zip
Kích Hoạt Mô-đun và Khởi Động Lại Dịch Vụ
Một số mô-đun cần được kích hoạt rõ ràng sau khi cài đặt. Sử dụng phpenmod để bật chúng.
sudo phpenmod module_name
sudo systemctl restart apache2
Các mô-đun đã bật sẽ có hiệu lực sau khi khởi động lại máy chủ web.
6. Quản Lý và Chuyển Đổi Phiên Bản PHP
.Ubuntu cho phép bạn cài đặt và sử dụng nhiều phiên bản PHP trên một máy chủ duy nhất. Điều này đặc biệt hữu ích trong môi trường phát triển hoặc các máy chủ lưu trữ nhiều ứng dụng web.
Phần này giải thích cách chuyển đổi phiên bản PHP cho CLI và cho Apache.
Chuyển đổi Phiên bản PHP trong CLI
Lệnh được sử dụng: update-alternatives
Bạn có thể dễ dàng chuyển phiên bản PHP được dùng trong dòng lệnh bằng update-alternatives.
Bước 1: Kiểm tra các Phiên bản PHP đã Cài đặt
ls /usr/bin/php*
Bước 2: Đăng ký các Phiên bản PHP (Chỉ một lần đầu tiên)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
Bước 3: Chọn Phiên bản PHP
sudo update-alternatives --config php
Bạn sẽ thấy một menu lựa chọn tương tự như sau:
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Bước 4: Xác minh Phiên bản
php -v
Chuyển đổi Phiên bản PHP trong Apache
Khi sử dụng Apache, các phiên bản PHP được quản lý thông qua các mô-đun của Apache. Bạn có thể chuyển đổi phiên bản bằng cách bật và tắt các mô-đun.
1. Kiểm tra các Mô-đun có Sẵn
ls /etc/apache2/mods-available | grep php
2. Tắt Mô-đun Đang Hoạt động Hiện tại
sudo a2dismod php7.4
3. Bật Phiên bản Mong muốn
sudo a2enmod php8.2
4. Khởi động lại Apache
sudo systemctl restart apache2
7. Tích hợp PHP với Apache và Nginx
PHP thực sự mạnh mẽ khi được tích hợp với một máy chủ web. Trên Ubuntu, các máy chủ web được sử dụng phổ biến nhất là Apache và Nginx.
Tích hợp Apache (mod_php)
Apache có thể xử lý các script PHP trực tiếp bằng mô-đun mod_php. Phương pháp này đơn giản và phù hợp cho các nền tảng CMS như WordPress.
Bước 1: Cài đặt Apache và mod_php
sudo apt install -y apache2 libapache2-mod-php
Bước 2: Khởi động lại Apache
sudo systemctl restart apache2
Bước 3: Kiểm tra việc Thực thi PHP
<?php
phpinfo();
?>
http://localhost/test.php
Tích hợp Nginx (PHP‑FPM)
Nginx không xử lý PHP trực tiếp. Thay vào đó, nó dựa vào PHP‑FPM (FastCGI Process Manager).
Bước 1: Cài đặt Nginx và PHP‑FPM
sudo apt install -y nginx php-fpm
Bước 2: Chỉnh sửa Cấu hình Nginx
sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Bước 3: Khởi động lại Nginx
sudo systemctl restart nginx
8. Khắc phục sự cố
Mã nguồn PHP được hiển thị trong Trình duyệt
Nguyên nhân
Điều này xảy ra khi máy chủ web không xử lý đúng các tệp PHP.
Giải pháp
- Apache:
sudo apt install libapache2-mod-php sudo systemctl restart apache2
- Nginx:
sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
Các hàm PHP không được định nghĩa
Nguyên nhân
Các mô-đun PHP cần thiết chưa được cài đặt hoặc chưa được bật.
Giải pháp
sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m
Lỗi PHP không được hiển thị
Giải pháp
sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2
Vị trí các tệp Log
Apache:
/var/log/apache2/error.log
Nginx:
/var/log/nginx/error.log
PHP‑FPM:
/var/log/php8.2-fpm.log
9. Tổng kết
answer.Bài viết này cung cấp hướng dẫn từng bước cách cài đặt PHP trên Ubuntu, từ cơ bản đến nâng cao.
Những điểm chính
- Kiểm tra phiên bản Ubuntu và cập nhật các gói
- Cài đặt PHP qua các kho mặc định hoặc PPA
- Xác minh PHP qua CLI và máy chủ web
- Mở rộng chức năng bằng các mô-đun
- Quản lý đa phiên bản PHP một cách linh hoạt
- Tích hợp đúng cách với Apache hoặc Nginx
- Kiểm tra log khi khắc phục sự cố
Các bước tiếp theo
- Cài đặt MySQL hoặc MariaDB
- Thiết lập WordPress
- Sử dụng các framework PHP như Laravel
- Kích hoạt HTTPS với chứng chỉ SSL
- Quản lý dịch vụ bằng systemd
Ubuntu và PHP cùng nhau tạo ra một môi trường phát triển mạnh mẽ và linh hoạt. Hãy sử dụng hướng dẫn này làm nền tảng và tiếp tục mở rộng kỹ năng của bạn.
10. Câu hỏi thường gặp (FAQ)
Câu hỏi 1. Làm thế nào để cài đặt phiên bản PHP mới nhất trên Ubuntu?
A. Sử dụng PPA ondrej/php và chỉ định phiên bản mong muốn.
Câu hỏi 2. Làm sao chuyển đổi phiên bản PHP trong CLI?
sudo update-alternatives --config php
Câu hỏi 3. Mã nguồn PHP được hiển thị trong Apache.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Câu hỏi 4. php.ini nằm ở đâu?
- Apache:
/etc/php/8.2/apache2/php.ini - CLI:
/etc/php/8.2/cli/php.ini
Câu hỏi 5. Làm sao bật các mô-đun PHP?
sudo phpenmod mbstring
sudo systemctl restart apache2
Câu hỏi 6. PHP không hoạt động với Nginx.
Đảm bảo rằng php-fpm đã được cài đặt và fastcgi_pass được cấu hình đúng.
Câu hỏi 7. Lỗi PHP không hiển thị.
display_errors = On
error_reporting = E_ALL


