Cách Fix lỗi Installation Failed: Destination Folder Already Exists khi cài đặt Plugin trên WordPress

Kiến thức hosting

Trong quá trình quản trị hệ thống WordPress, việc xung đột dữ liệu khi cài đặt tiện ích mở rộng là điều khó tránh khỏi. Lỗi “Installation failed: Destination folder already exists” là một trong những lỗi đó. Và làm sao để  “Fix lỗi Installation failed: Destination folder already exists khi cài đặt plugin trên WordPress” thì cloudmail.com.vn hôm nay sẽ hướng dẫn các bạn cách fix cụ thể.

1. Lỗi “Installation failed: Destination Folder Already Exists” là gì?

Lỗi này là lỗi xuất hiện khi bạn cố gắng cài đặt một Plugin hoặc Theme, nhưng WordPress phát hiện ra rằng trong thư mục lưu trữ của website đã có sẵn một thư mục trùng tên với cái bạn đang định cài.

Ví dụ như chúng ta định cài 1 plugin như SSL chả hạn:

Thì chúng ta hiểu rằng trước đó Website này đã từng cài một plugin/theme, WordPress sẽ giải nén file .zip vào đường dẫn:

  • Plugin: /wp-content/plugins/ssl
  • Theme: /wp-content/themes/ssl

Lỗi xảy ra trong các trường hợp:

Có thể lần cài đặt trước bị lỗi mạng hoặc timeout, thư mục đã được tạo ra nhưng chưa cài xong.

  • Xóa chưa sạch: Bạn đã xóa plugin/theme này nhưng thư mục của nó vẫn còn sót lại trên hosting.
  • Nâng cấp thủ công: Bạn đang cố upload file cài đặt mới đè lên phiên bản cũ theo cách thủ công (qua nút Upload) thay vì nhấn nút Update.

2. Cách sửa lỗi Installation Failed: Destination Folder Already Exists?

Cách 1: Xoá  plugin còn sót lại trên hosting

Bước 1: Chúng ta cần xác định rõ plugin chúng ta cài là loại plugin gì? ví dụ như của mình là cài plugin về SSl thì rõ ràng trước đó ta đã cài một plugin liên quan đến SSL rồi. Chúng ta sẽ xác định nó rồi vào

Bước 2:

Vào bên trong của quản lý File Manage của Hosting Website

Sau đó chọn Public_html >> Wp-content

Trong WP- Content >> chọn Theme

Sau đó chúng ta sẽ xóa plugin đang bị lỗi cài. Ví dụ như của mình đang là sẽ xoá ssl.

Xoá xong, chúng ta cài lại là sẽ hết lỗi.

Cách 2: Sử dụng lệnh SSH

Bước 1: Chạy lệnh SSH sau: (Lưu ý: đường dẫn public_html có thể thay đổi tùy cấu hình server của bạn)

cd public_html/wp-content/plugins/

Bước 2: Kiểm tra xem thư mục lỗi có ở đó không (để tránh xóa nhầm):

ls -l

Bước 3: Chạy lệnh xóa thư mục

rm -rf ten-thu-muc-bi-loi

Cách 3: Dùng đoạn mã PHP 

Chúng ta có thể Tạo một file tên là fix-plugin.php ở thư mục gốc (ngang hàng với wp-config.php).

Chúng ta sẽ dán đoạn sau vào:

<?php
// Thay ‘ten-thu-muc-bi-loi’ bằng tên thư mục plugin của bạn
$folder_name = ‘ten-thu-muc-bi-loi’;
$dir = __DIR__ . ‘/wp-content/plugins/’ . $folder_name;

function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != “.” && $object != “..”) {
if (is_dir($dir . DIRECTORY_SEPARATOR . $object) && !is_link($dir . “/” . $object))
rrmdir($dir . DIRECTORY_SEPARATOR . $object);
else
unlink($dir . DIRECTORY_SEPARATOR . $object);
}
}
rmdir($dir);
echo “Đã xóa thành công thư mục: ” . $dir;
} else {
echo “Không tìm thấy thư mục: ” . $dir;
}
}

rrmdir($dir);
?>

– Truy cập đường dẫn domaincuaban.com/fix-plugin.php trên trình duyệt.

– Nếu thấy thông báo “Đã xóa thành công…”, hãy xóa ngay File Fix-Plugin.php này đi để bảo mật,

– Sau đó vào cài lại Plugin.

3. Câu hỏi thường gặp?

Lỗi Destination folder already exists có nghĩa là gì?
Lỗi này thông báo rằng WordPress không thể cài đặt plugin hoặc theme mới vì trong thư mục lưu trữ của website (/wp-content/plugins/ hoặc /wp-content/themes/) đã tồn tại một thư mục có cùng tên với thứ bạn đang định cài.
Tại sao tôi đã xóa plugin trong trang quản trị rồi mà vẫn bị lỗi này?
Có thể quá trình xóa trước đó chưa sạch hoàn toàn, các tệp tin của plugin/theme vẫn còn sót lại trên hosting. Hoặc trong lần cài đặt trước đó bị lỗi mạng/timeout nên thư mục đã được tạo ra nhưng chưa hoàn tất cài đặt.
Tôi không rành về lệnh SSH hay Code, tôi nên dùng cách nào?
Bạn nên sử dụng Cách 1: Xóa plugin qua File Manager trên Hosting. Đây là cách trực quan và dễ thực hiện nhất. Bạn chỉ cần truy cập vào File Manager -> public_html -> wp-content -> plugins (hoặc themes) và xóa thư mục trùng tên đi là được.
Lỗi này chỉ xảy ra với Plugin thôi đúng không?
Không, lỗi này xảy ra với cả Theme (Giao diện). Nếu bạn cài theme mới trùng tên thư mục với theme cũ hoặc theme đã xóa sót file, lỗi tương tự cũng sẽ xuất hiện. Đường dẫn kiểm tra sẽ là /wp-content/themes/.
Tại sao cần phải xóa file fix-plugin.php ngay sau khi khắc phục xong (ở Cách 3)?
Bạn bắt buộc phải xóa file này để đảm bảo bảo mật cho website. Nếu để lại, người lạ có thể truy cập vào đường dẫn file này và thực thi lệnh xóa các thư mục quan trọng khác trên host của bạn.
Việc xóa thư mục trong File Manager có làm mất dữ liệu web không?
Việc xóa đúng thư mục của plugin/theme đang bị lỗi không làm ảnh hưởng đến dữ liệu chung của toàn bộ website. Tuy nhiên, hãy chắc chắn bạn xóa đúng tên thư mục của plugin gây lỗi (ví dụ: thư mục ssl nếu đang lỗi cài plugin SSL).