Cách khắc phục lỗi WP-CLI 'This does not seem to be a WordPress installation'

beginner📝 WordPress2026-06-14| Linux (Ubuntu/Debian/CentOS), macOS, Windows (WSL), WP-CLI 2.x, WordPress 5.0+

Error Message

Error: This does not seem to be a WordPress installation.
#wp-cli#wordpress#devops#troubleshooting

Vấn đề

Bạn mở terminal để chạy lệnh wp plugin list hoặc wp core update. Thay vì kết quả thông thường, terminal trả về một thông báo cụ thể: Error: This does not seem to be a WordPress installation. Đây là một lỗi phổ biến, thường có nghĩa là WP-CLI không thể tìm thấy các tệp tin cốt lõi của trang web.

Tại sao WP-CLI không nhận diện được

WP-CLI xác định một bản cài đặt hợp lệ bằng cách tìm tệp wp-includes/version.php. Nếu không tìm thấy tệp này trong đường dẫn tìm kiếm, công cụ sẽ giả định rằng nó đang ở sai thư mục. Điều này thường xảy ra do một vài lý do cụ thể:

  • Sai thư mục: Bạn đang chạy lệnh từ /var/www/ thay vì thư mục gốc thực tế tại /var/www/html/.
  • Sai đường dẫn: Tham số --path bạn cung cấp trỏ đến một thư mục không chứa các tệp tin cốt lõi.
  • Cấu trúc tùy chỉnh: Bạn đang sử dụng các boilerplate như Roots Bedrock, nơi mã nguồn WordPress được đặt trong thư mục con /web/wp/.
  • Không đủ quyền: Người dùng của bạn không có quyền đọc tệp wp-load.php hoặc thư mục wp-includes.

Cách khắc phục nhanh: Kiểm tra vị trí của bạn

Đa số trường hợp, bạn chỉ cần chuyển sang đúng thư mục. Sử dụng pwd để xem chính xác vị trí của bạn trong hệ thống tệp. Sau đó, kiểm tra sự tồn tại của tệp loader WordPress.

# Xem đường dẫn hiện tại của bạn
pwd

# Xác nhận xem các tệp tin cốt lõi có thực sự ở đây không
ls -la | grep wp-load.php

Nếu không thấy tệp tin, hãy di chuyển vào đúng thư mục. Đối với thiết lập Ubuntu tiêu chuẩn, thư mục này thường là /var/www/html:

cd /var/www/html
wp core version

Sử dụng tham số --path

Bạn có thể cần chạy lệnh từ bên ngoài thư mục WordPress, chẳng hạn như trong một script triển khai hoặc cron job. Trong những trường hợp này, bạn phải chỉ định rõ cho WP-CLI nơi chứa các tệp tin. Sử dụng cờ --path với đường dẫn thư mục tuyệt đối.

wp plugin list --path=/var/www/my-site.com/public_html

Tránh thêm dấu gạch chéo ở cuối đường dẫn. Sử dụng /var/www/html sẽ gọn gàng hơn và ít gặp lỗi đường dẫn nội bộ hơn so với /var/www/html/.

Giải pháp cho Bedrock và các cấu trúc tùy chỉnh

Bedrock thay đổi cấu trúc bằng cách di chuyển mã nguồn WordPress vào một thư mục con. Nếu bạn chạy lệnh ở thư mục gốc của dự án, WP-CLI sẽ thất bại. Bạn cần trỏ công cụ đến chính xác thư mục web/wp.

# Thực thi lệnh Bedrock tiêu chuẩn
wp plugin list --path=web/wp

Tiết kiệm thời gian với wp-cli.yml

Việc nhập đường dẫn thủ công mỗi lần rất tẻ nhạt. Để tự động hóa việc này, hãy tạo tệp wp-cli.yml trong thư mục gốc của dự án. Tệp cấu hình này sẽ chỉ định cho WP-CLI chính xác nơi cần tìm cho dự án đó mỗi khi bạn chạy lệnh.

Thêm nội dung này vào tệp wp-cli.yml của bạn:

path: public_html
# Hoặc cho người dùng Bedrock:
# path: web/wp

Giờ đây, chỉ cần bạn ở trong thư mục dự án, bạn có thể chạy các lệnh wp mà không cần thêm bất kỳ tham số nào khác.

Giải quyết xung đột quyền truy cập

Nếu bạn đã ở đúng thư mục nhưng lỗi vẫn còn, hãy kiểm tra quyền sở hữu tệp. WP-CLI cần đọc các tệp tin cốt lõi để khởi động môi trường. Nếu các tệp thuộc sở hữu của www-data (quyền 644) và bạn đang đăng nhập bằng một người dùng khác, bạn có thể bị chặn.

# Kiểm tra quyền sở hữu tệp
ls -l wp-load.php

# Kiểm tra người dùng hiện tại của bạn
whoami

Nếu có sự sai khác, hãy chạy lệnh dưới danh nghĩa người dùng của web server. Đây là giải pháp an toàn hơn so với việc thay đổi quyền tệp trên toàn hệ thống.

sudo -u www-data wp plugin list --path=/var/www/html

Xác minh cuối cùng

Chạy lệnh kiểm tra phiên bản đơn giản để xác nhận mọi thứ đã hoạt động bình thường. Nếu bạn thấy số phiên bản như 6.4.3, bạn đã kết nối thành công WP-CLI với trang web của mình.

wp core version

Danh sách kiểm tra tóm tắt

  • Bạn có đang ở trong thư mục chứa tệp wp-load.php không?
  • Tham số --path của bạn có sử dụng đường dẫn tuyệt đối và không có dấu gạch chéo ở cuối không?
  • Người dùng của bạn có quyền đọc thư mục wp-includes không?
  • Nếu sử dụng Bedrock, bạn đã trỏ đường dẫn đến thư mục con /wp chưa?

Related Error Notes