Làm thế nào để có một trang web ngoại tuyến bằng Drush?


80

Làm cách nào tôi có thể truy cập trang web ngoại tuyến bằng Drush?

Câu trả lời:


125

Drupal 8: drush sset system.maintenance_mode TRUE

Drupal 7: drush vset maintenance_mode 1

Drupal 6: drush vset site_offline 1


7
Nếu bạn đang sử dụng drush-5.x, bây giờ bạn có thể chỉ cần sử dụng "drush vset care_mode 1". Drush sẽ viết lại bảo trì_mode thành site_offline cho Drupal 6. (Tính năng này mới hơn câu trả lời ở trên.)
greg_1_anderson

5
Hãy chắc chắn để xóa cache ( drush cc all) sau khi thay đổi biến này.
smokris

1
Drupal 8: drush state-set system.maintenance_mode 1(Tôi không thích bí danh của drush)
Andrea

15

Trước tiên, bạn nên cd vào thư mục chính xác để bạn nằm trong thư mục Drupal. Nếu bạn đang sử dụng cd cài đặt nhiều trang vào thư mục trang web / sitename chính xác hoặc chỉ định cài đặt -l chính xác

Trong Drupal 6 chỉ có lệnh này là thực sự cần thiết:

$ drush vset --yes site_offline 1;

Ngoài ra trong Drupal 6, bạn có thể sử dụng các lệnh sau nếu bạn muốn chỉ định một thông báo để hiển thị cho người dùng của trang trong khi nó bị hỏng.

$ drush vset --yes site_offline_message "This site is being maintained";
$ drush vset --yes site_offline 1;

Trong Drupal 7, sử dụng lệnh sau để đưa trang web vào chế độ bảo trì:

$ drush vset --yes maintenance_mode 1;

Để đặt một thông báo cụ thể, hãy sử dụng:

$ drush variable-set --yes maintenance_mode_message "This site is being maintained"

Có thể cần phải xóa bộ nhớ cache rằng những thay đổi của các biến này có hiệu lực:

$ drush cc all

1
Điều này không hoạt động nếu biến không tồn tại. Bạn đang thiếu tham số --always-set.
Tobias Sjösten

1
Các biến được tạo bởi trình cài đặt mặc dù. Đi cài đặt một drupal mới và tìm trong bảng biến.
Stewart Robinson

1
Được nâng cấp do bao gồm phần site_offline_message. Tôi tin rằng tương đương Drupal 7 của site_offline_message là bảo trì_mode_message?
lolcode

Bạn không cần phải xóa bộ đệm, biến_set
mvc

1
biến_set chỉ xóa hai bộ nhớ cache. cache_clear_all ('biến', 'cache_bootstrap');
Stewart Robinson

2

Để thực hiện việc này với Drupal 8 và Drush 8.x, hãy sử dụng state-setlệnh :

drush sset system.maintenance_mode 1

Lúc đầu, tôi cho rằng đây sẽ là thứ tôi sẽ đặt drush config-set system.maintenance , tuy nhiên các phím duy nhất trong cấu hình đó là message(thông báo được hiển thị khi bật chế độ bảo trì) và langcode(mã ngôn ngữ cho tin nhắn đã nói).


0

Điều này được kiểm soát bởi một biến, site_offline.

$ drush vset --always-set site_offline 1

Bạn cũng có thể đặt tin nhắn ngoại tuyến theo cách này.

$ drush vset --always-set site_offline_message 'Please try again later!'

Điều này sẽ đưa trang web trở lại nếu nó không hoạt động để bảo trì.
Stewart Robinson

Cảm ơn đã chỉ ra rằng. Tất nhiên nó nên được đặt thành 1, không có gì khác.
Tobias Sjösten

0

Từ Drupal 6 sử dụng:

drush vset site_offline 1

Để đưa nó ra khỏi bảo trì:

drush vset site_offline 0
drush cc all
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.