Trước khi bắt đầu
Đây là Phần 2 của loạt bài WP-CLI. Nếu bạn chưa đọc Phần 1, hãy bắt đầu từ đó.
Nó giải thích WP-CLI là gì, tại sao các chuyên gia sử dụng nó, và gói hosting nào hỗ trợ nó.
Danh sách kiểm tra tiên quyết
Trước khi tải WP-CLI, hệ thống của bạn cần năm thứ được thiết lập. Nếu thiếu bất kỳ thứ nào, WP-CLI sẽ không cài đặt được hoặc báo lỗi ngay khi bạn chạy lệnh đầu tiên. Hãy làm theo danh sách này từ trên xuống dưới.
Tiên quyết 1: Môi trường giống UNIX
WP-CLI chạy gốc trên Linux, macOS và FreeBSD. Trên Windows, hãy dùng WSL (Windows Subsystem for Linux). WP-CLI không chạy trong Command Prompt hay PowerShell gốc của Windows.
Xác nhận shell của bạn hoạt động:
whoami
pwd
Cả hai lệnh đều phải trả về kết quả mà không có lỗi. Nếu được, môi trường của bạn đã sẵn sàng.
Tiên quyết 2: Truy cập SSH
WP-CLI cần truy cập terminal vào máy chủ của bạn. Trên máy local, điều này đã có sẵn. Trên máy chủ từ xa, bạn cần SSH enabled trong gói hosting của bạn.
Xác minh truy cập SSH đang hoạt động:
echo "SSH is working"
Nếu bạn thấy dòng đó được in lại, bạn đã có quyền truy cập cần thiết. Nếu bạn không chắc gói hosting của mình có SSH hay không, hãy tham khảo phần Yêu cầu Hosting trong Phần 1 của loạt bài này.
Tiên quyết 3: PHP 7.2.24 trở lên với các extension cần thiết
Nếu đây là máy chủ mới hoặc bản cài đặt OS sạch, PHP có thể chưa được cài đặt. Chạy kiểm tra này trước:
php --version
Nếu bạn thấy "command not found", hãy cài đặt PHP trước khi làm bất cứ điều gì khác.
Bạn cần PHP 7.2.24 trở lên (đây là mức tối thiểu chính xác theo tài liệu chính thức). Nếu phiên bản của bạn cũ hơn, hãy cập nhật PHP trước khi tiếp tục.
Cài đặt PHP với các extension cần thiết trên Ubuntu / Debian:
sudo apt update
sudo apt install php php-cli php-mysql php-curl php-xml php-mbstring php-zip php-gd php-intl php-bcmath
Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux:
sudo dnf install php php-cli php-mysqlnd php-curl php-xml php-mbstring php-zip php-gd php-intl php-bcmath
openSUSE:
sudo zypper install php8 php8-cli php8-mysql php8-curl php8-xml php8-mbstring php8-zip php8-gd php8-intl php8-bcmath
macOS (qua Homebrew):
brew install php
Lưu ý: Hầu hết các extension cần thiết đã được bao gồm theo mặc định trên macOS.
Sau khi cài đặt, xác nhận PHP đã sẵn sàng:
php --version
php -m | grep -E 'mysqli|curl|xml|mbstring|zip|gd|intl'
Cả hai kiểm tra đều phải trả về kết quả trước khi bạn chuyển sang bước tiếp theo.
Khi truy vấn các extension PHP, bạn sẽ thấy tên từng extension được in lại. Nếu thiếu bất kỳ extension nào trong kết quả, hãy cài đặt gói dành riêng cho phiên bản của extension đó và chạy lại kiểm tra.
Tiên quyết 4: MySQL hoặc MariaDB đang chạy và có thể truy cập
WordPress lưu trữ mọi thứ (nội dung, cài đặt, người dùng và tùy chọn) trong một cơ sở dữ liệu. Nếu không có máy chủ cơ sở dữ liệu đang chạy, wp config create và wp core install sẽ thất bại ngay lập tức với lỗi kết nối.
WordPress khuyến nghị MySQL 8.0+ hoặc MariaDB 10.6+ làm nền tảng an toàn, hiện đại cho hiệu suất và bảo mật. Đối với bất kỳ bản cài đặt mới nào, hãy dùng MySQL 8.4 LTS hoặc MariaDB 10.11 LTS. Cả hai đều có cửa sổ hỗ trợ dài hạn.
Kiểm tra xem máy chủ cơ sở dữ liệu đã được cài đặt chưa
mysql --version
# or
mariadb --version
Nếu bạn thấy "command not found" cho cả hai, hãy cài đặt một trong số chúng ngay bây giờ.
Cài đặt MySQL
Debian / Ubuntu / Linux Mint:
sudo apt update
sudo apt install mysql-server
RHEL / CentOS / AlmaLinux / Rocky Linux:
sudo dnf install mysql-server
Cài đặt MariaDB (Khuyến nghị thay thế tương thích)
Debian / Ubuntu / Linux Mint:
sudo apt update
sudo apt install mariadb-server
Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux:
sudo dnf install mariadb-server
openSUSE:
sudo zypper install mariadb
macOS (qua Homebrew):
brew install mariadb
Khởi động và kích hoạt dịch vụ
# For MySQL
sudo systemctl start mysql
sudo systemctl enable mysql
# For MariaDB
sudo systemctl start mariadb
sudo systemctl enable mariadb
Cờ enable làm cho dịch vụ tự động khởi động mỗi khi máy chủ của bạn khởi động lại. Nếu không có nó, bạn phải khởi động cơ sở dữ liệu theo cách thủ công mỗi lần.
Chạy trình hướng dẫn cài đặt bảo mật
Khuyến nghị cho bất kỳ môi trường không phải Docker, không phải local:
# For MySQL
sudo mysql_secure_installation
# For MariaDB
sudo mariadb-secure-installation
Thao tác này xóa các cơ sở dữ liệu thử nghiệm mặc định, vô hiệu hóa đăng nhập root từ xa và đặt mật khẩu root mạnh. Mất khoảng hai phút và cải thiện đáng kể bảo mật cơ sở dữ liệu của bạn.
Tạo cơ sở dữ liệu và người dùng WordPress
sudo mysql -u root -p
Sau đó, bên trong dấu nhắc MySQL/MariaDB, chạy các lệnh SQL này:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPassword123';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Thay thế các giá trị sau bằng giá trị của riêng bạn:
wordpress- tên cơ sở dữ liệu bạn muốn (ví dụ:mysite_db).wpuser- tên người dùng cơ sở dữ liệu bạn muốn.StrongPassword123- một mật khẩu mạnh, duy nhất. Không bao giờ sử dụng mật khẩu đơn giản trên máy chủ trực tiếp.
Cài đặt CHARACTER SET utf8mb4 đảm bảo WordPress xử lý chính xác các ký tự quốc tế, biểu tượng cảm xúc và ký hiệu đặc biệt ngay từ đầu. Dòng FLUSH PRIVILEGES yêu cầu máy chủ cơ sở dữ liệu tải lại bảng quyền của nó ngay lập tức.
Xác minh kết nối cơ sở dữ liệu
Trước khi tiếp tục, hãy xác nhận người dùng mới thực sự có thể kết nối:
mysql -u wpuser -p wordpress
Nếu thao tác này mở dấu nhắc MySQL mà không có lỗi, cơ sở dữ liệu của bạn đã sẵn sàng. Gõ exit để thoát.
Tại sao đôi khi dùng
127.0.0.1thay vìlocalhost: Khi bạn truyền--dbhost=localhost, PHP kết nối qua một tệp socket Unix. Nếu đường dẫn socket đó khác nhau giữa PHP và MySQL trên hệ thống của bạn, bạn sẽ gặp lỗi 2002 "No such file or directory." Sử dụng--dbhost=127.0.0.1buộc PHP sử dụng kết nối TCP, bỏ qua socket hoàn toàn. Chuyển sang127.0.0.1nếulocalhostgây ra lỗi đó.
Tiên quyết 5: WordPress 4.9 trở lên
WP-CLI yêu cầu WordPress 4.9 trở lên. Các phiên bản cũ hơn bản phát hành WordPress mới nhất có thể có chức năng bị suy giảm. Đây không phải là vấn đề đối với các bản cài đặt mới, vì việc tải xuống lõi WordPress bằng wp core download luôn lấy phiên bản ổn định mới nhất. Tuy nhiên, nếu bạn đang chạy WP-CLI trên một trang web cũ hiện có, hãy kiểm tra phiên bản WordPress của bạn trước:
wp core version
Nếu phiên bản dưới 4.9, hãy cập nhật WordPress trước khi dựa vào WP-CLI:
wp core update
Kiểm tra sơ bộ đầy đủ
Chạy tất cả bốn kiểm tra trước khi tải WP-CLI. Mọi dòng phải trả về kết quả sạch sẽ, không có lỗi trước khi bạn tiếp tục.
# 1. Confirm PHP version is 7.2.24 or higher
php --version
# 2. Confirm all required extensions are loaded
php -m | grep -E 'mysqli|curl|xml|mbstring|zip|gd|intl|bcmath'
# 3. Confirm MySQL or MariaDB is running
sudo systemctl status mysql # or: sudo systemctl status mariadb
# 4. Confirm you can log into the database with the WordPress user
mysql -u wpuser -p wordpress -e "SELECT 'Connection OK';"
Tất cả bốn kiểm tra phải vượt qua sạch sẽ. Khi đã xong, hãy tải WP-CLI.
Bước 1: Xác minh truy cập SSH
Trước khi tải WP-CLI, hãy thực hiện kiểm tra nhanh cuối cùng để xác nhận phiên shell của bạn đang hoạt động và bạn đang ở đúng vị trí trên máy chủ:
whoami # shows which user you are running as
pwd # shows which directory you are currently in
Cả hai lệnh phải trả về kết quả mà không có lỗi. Nếu bạn đang ở trên máy chủ từ xa, hãy đảm bảo bạn đã kết nối qua SSH trước khi tiếp tục. Nếu bạn đang làm việc cục bộ, ví dụ như bên trong một container Docker hoặc môi trường Linux cục bộ, bạn đã có quyền truy cập và có thể chuyển thẳng đến Bước 2.
Bước 2: Tải WP-CLI
Tải bản phát hành WP-CLI ổn định mới nhất bằng:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Hoặc dùng wget nếu curl không có sẵn trên hệ thống của bạn:
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Đối với những người chưa biết, tệp PHAR là một ứng dụng PHP khép kín.
Xác minh chữ ký PHAR
Bước này được khuyến nghị cho các máy chủ sản xuất và môi trường có ý thức bảo mật. Nó xác nhận tệp đã tải xuống không bị giả mạo.
Tải tệp chữ ký:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar.asc
Sau đó xác minh nó với khóa công khai của WP-CLI:
gpg --keyserver keyserver.ubuntu.com --recv-keys 63AF7AA15067C05616FDDD88A3A2E8F226F0BC06
gpg --verify wp-cli.phar.asc wp-cli.phar
Một tệp hợp lệ trả về Good signature from "WP-CLI (Signing Key)". Nếu xác minh thất bại, hãy xóa tệp PHAR và tải lại. Đừng cài đặt một tệp không vượt qua được xác minh chữ ký.
Bước 3: Xác minh bản tải xuống
Kiểm tra xem tệp đã tải xuống có chạy chính xác trước khi cài đặt nó trên toàn hệ thống hay không:
php wp-cli.phar --info
Thao tác này sẽ hiển thị thông tin phiên bản WP-CLI và cấu hình hệ thống của bạn, đường dẫn nhị phân PHP, phiên bản PHP và chi tiết HĐH. Nếu bạn thấy kết quả đó, tệp hợp lệ và sẵn sàng để cài đặt.
Bước 4: Làm cho nó có thể truy cập toàn cầu
Cấp quyền thực thi cho tệp, sau đó di chuyển nó vào đường dẫn hệ thống của bạn để bạn có thể chạy wp từ bất kỳ thư mục nào:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Bước 5: Xác nhận cài đặt
Xác minh lệnh wp hoạt động từ bất kỳ đâu trên hệ thống của bạn:
wp --info
Nếu bạn thấy thông tin phiên bản và hệ thống, WP-CLI đã được cài đặt đầy đủ và sẵn sàng để sử dụng. Đây là kết quả bạn sẽ mong đợi:
OS: Linux 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php8.5
PHP version: 8.5.4
php.ini used: /etc/php/8.5/cli/php.ini
MySQL binary:
MySQL version:
SQL modes:
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: phar:///usr/local/bin/wp
WP-CLI packages dir:
WP-CLI cache dir: /home/senthilkumar/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.12.0
Để xem tài liệu cài đặt chính thức, hãy truy cập: https://wp-cli.org/#installing.
Các phương pháp cài đặt thay thế
Phương pháp PHAR ở trên hoạt động trên mọi hệ thống. Tuy nhiên, hai phương pháp thay thế có thể phù hợp hơn với quy trình làm việc của bạn.
Ubuntu PPA (cài đặt qua apt)
Nếu bạn quản lý máy chủ Ubuntu hoặc Debian và thích cài đặt các công cụ thông qua apt, một PPA do cộng đồng -maintained cung cấp phiên bản đóng gói của WP-CLI:
sudo add-apt-repository ppa:tiagohillebrandt/wp-cli
sudo apt update
sudo apt install wp-cli
PPA được duy trì bởi một tình nguyện viên cộng đồng và có thể chậm hơn một chút so với bản phát hành WP-CLI mới nhất. Để có phiên bản mới nhất, hãy sử dụng phương pháp PHAR ở trên. Xác minh phiên bản bạn có bằng wp cli version sau khi cài đặt.
Cài đặt toàn cầu qua Composer
Nếu bạn đã sử dụng Composer trong quy trình phát triển PHP của mình, bạn có thể cài đặt WP-CLI như một gói Composer toàn cầu:
composer global require wp-cli/wp-cli-bundle
Đảm bảo thư mục bin toàn cầu của Composer nằm trong $PATH của bạn. Trên hầu hết các hệ thống, nó là ~/.composer/vendor/bin hoặc ~/.config/composer/vendor/bin:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Thêm dòng đó vào ~/.bash_profile của bạn để làm cho nó vĩnh viễn. Sau đó xác nhận WP-CLI hoạt động:
wp --info
Phương pháp Composer là lý tưởng nếu bạn muốn WP-CLI được ghim vào một phiên bản cụ thể trong một dự án hoặc nếu nhóm của bạn sử dụng Composer để quản lý phụ thuộc trên các công cụ.
Cài đặt trên Shared Hosting
Một số shared host bao gồm WP-CLI được cài đặt sẵn. Kiểm tra tài liệu của host hoặc chạy wp --info trực tiếp sau khi đăng nhập qua SSH. Nếu nó trả về kết quả, WP-CLI đã có sẵn ở đó.
Nếu nó chưa được cài đặt sẵn nhưng gói của bạn bao gồm SSH, bạn có thể chạy trực tiếp tệp PHAR mà không cần di chuyển nó đến đường dẫn toàn cầu:
php wp-cli.phar --info
Để làm cho việc gõ này dễ dàng hơn một chút, hãy thêm một bí danh vào ~/.bash_profile của bạn:
alias wp='php ~/wp-cli.phar'
Sau đó tải lại hồ sơ:
source ~/.bash_profile
Sau đó, wp --info hoạt động như thể nó được cài đặt toàn cầu.
Kích hoạt Tab Completion
WP-CLI hỗ trợ tab completion trong Bash, Zsh và Fish. Bạn có thể tải script completion từ liên kết này: https://github.com/wp-cli/wp-cli/raw/main/utils/wp-completion.bash.
Đối với Bash, hãy tải script completion và nguồn nó từ ~/.bash_profile:
source /FULL/PATH/TO/wp-completion.bash
Sau đó tải lại hồ sơ của bạn:
source ~/.bash_profile
Đối với Zsh với Oh My Zsh, thêm wp-cli vào dòng plugins của bạn trong ~/.zshrc:
plugins=(wp-cli git ...)
Đối với Fish shell, tải wp.fish và đặt nó vào ~/.config/fish/completions/wp.fish. Fish tự động nguồn nó khi bạn gõ wp và nhấn Tab.
Câu hỏi thường gặp (FAQ)
H: Phiên bản PHP tối thiểu cho WP-CLI là gì?
Đ: WP-CLI yêu cầu PHP 7.2.24 trở lên. Phiên bản được khuyến nghị cho 2026 là PHP 8.4. Nó nhanh hơn, được hỗ trợ tích cực và là phiên bản mà hầu hết các host hiện đang sử dụng. Xác nhận của bạn bằng php --version.
H: Tôi đã cài đặt PHP nhưng WP-CLI vẫn báo lỗi fatal về mysqli_init. Có vấn đề gì?
Đ: PHP đã được cài đặt nhưng extension php-mysql bị thiếu. Cài đặt nó bằng sudo apt install php-mysql (Ubuntu/Debian) hoặc sudo dnf install php-mysqlnd (RHEL/Fedora). Sau đó xác nhận nó đã được tải bằng php -m | grep mysqli.
H: Tôi gặp lỗi 2002 "No such file or directory" khi chạy wp config create. Làm cách nào để sửa?
Đ: Thay thế --dbhost=localhost bằng --dbhost=127.0.0.1. Điều này buộc PHP sử dụng kết nối TCP thay vì socket Unix, khắc phục sự không khớp giữa đường dẫn socket PHP và MySQL trên một số hệ thống.
H: Tôi có thể cài đặt WP-CLI mà không cần quyền sudo không?
Đ: Có. Bỏ qua bước sudo mv và thay vào đó chạy trực tiếp tệp PHAR bằng php wp-cli.phar <command>, hoặc lưu nó vào một thư mục trong PATH người dùng của bạn như ~/bin/wp và thêm ~/bin vào $PATH của bạn.
H: Tôi có cần cài đặt lại WP-CLI khi cập nhật PHP không?
Đ: Không. WP-CLI là một tệp PHAR khép kín và không cần cài đặt lại sau khi cập nhật PHP. Tuy nhiên, hãy chạy wp cli update định kỳ để giữ cho WP-CLI luôn cập nhật.
H: Làm cách nào để cập nhật WP-CLI sau khi cài đặt?
Đ: Chạy lệnh này từ bất kỳ đâu:
wp cli update
Kiểm tra các bản cập nhật có sẵn trước mà không cần áp dụng chúng:
wp cli check-update
Tiếp theo là gì
WP-CLI đã được cài đặt và xác minh. Bây giờ bạn đã sẵn sàng để bắt đầu chạy các lệnh. Tiếp tục đến Phần 3 của loạt bài WP-CLI để tìm hiểu các lệnh WP-CLI thiết yếu:
Hướng dẫn đó bao gồm chi tiết mọi danh mục lệnh - plugin, chủ đề, người dùng, cơ sở dữ liệu, multisite, script tự động hóa, tích hợp CI/CD, lệnh tùy chỉnh và các phương pháp hay nhất về bảo mật. Nó cũng bao gồm một bảng cheat sheet đầy đủ mà bạn có thể đánh dấu và quay lại bất kỳ lúc nào.
Cũng trong loạt bài này:



