วิธีทำให้ไซต์ออฟไลน์โดยใช้ Drush


คำตอบ:


125

Drupal 8: drush sset system.maintenance_mode TRUE

Drupal 7: drush vset maintenance_mode 1

Drupal 6: drush vset site_offline 1


7
หากคุณกำลังใช้ drush-5.x ตอนนี้คุณสามารถใช้ "drush vset maintenance_mode 1" ได้ทันที Drush จะเขียน maintenance_mode ไปที่ site_offline สำหรับ Drupal 6 (ฟีเจอร์นี้ใหม่กว่าคำตอบข้างต้น)
greg_1_anderson

5
ให้แน่ใจว่าได้ล้างแคช ( drush cc all) หลังจากเปลี่ยนตัวแปรนี้
smokris

1
Drupal 8: drush state-set system.maintenance_mode 1(ฉันไม่ชอบนามแฝงของ Drush)
Andrea

15

ก่อนอื่นคุณควร cd ลงในไดเรกทอรีที่ถูกต้องเพื่อที่คุณจะได้อยู่ในไดเรกทอรี Drupal หากคุณใช้แผ่นซีดีติดตั้งหลายไซต์ลงในไดเรกทอรีไซต์ / ชื่อไซต์ที่ถูกต้องหรือระบุการตั้งค่า -l ที่ถูกต้อง

ใน Drupal 6 จำเป็นต้องใช้คำสั่งนี้เท่านั้น:

$ drush vset --yes site_offline 1;

นอกจากนี้ใน Drupal 6 คุณสามารถใช้คำสั่งต่อไปนี้หากคุณต้องการระบุข้อความที่จะแสดงต่อผู้ใช้ของเว็บไซต์ในขณะที่มันไม่ทำงาน

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

ใน Drupal 7 ใช้คำสั่งต่อไปนี้เพื่อทำให้ไซต์เข้าสู่โหมดการบำรุงรักษา:

$ drush vset --yes maintenance_mode 1;

ในการตั้งค่าการใช้ข้อความเฉพาะ:

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

อาจจำเป็นต้องล้างแคชที่การเปลี่ยนแปลงของตัวแปรเหล่านี้มีผล:

$ drush cc all

1
สิ่งนี้ไม่ทำงานหากตัวแปรนั้นไม่มีอยู่ คุณไม่มีพารามิเตอร์ --always-set
Tobias Sjösten

1
ตัวแปรถูกสร้างโดยตัวติดตั้ง ไปติดตั้ง drupal ใหม่และดูในตารางตัวแปร
Stewart Robinson

1
อัปโหลดแล้วเนื่องจากมีการรวมส่วน site_offline_message ฉันเชื่อว่า Drupal 7 เทียบเท่า site_offline_message คือ maintenance_mode_message หรือไม่
lolcode

คุณไม่จำเป็นต้องล้างแคช variable_set () ไม่ว่าสำหรับคุณ: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/...
MVC

1
variable_set ล้างแคชสองครั้งเท่านั้น cache_clear_all ('ตัวแปร', 'cache_bootstrap');
Stewart Robinson

2

ในการทำสิ่งนี้กับ Drupal 8 และ Drush 8.x ให้ใช้state-setคำสั่ง :

drush sset system.maintenance_mode 1

ตอนแรกฉันคิดว่านี่จะเป็นสิ่งที่ฉันจะตั้งค่าด้วยdrush config-set system.maintenanceอย่างไรก็ตามปุ่มเดียวในการกำหนดค่านั้นคือmessage(ข้อความปรากฏขึ้นเมื่อเปิดใช้งานโหมดการบำรุงรักษา) และlangcode(รหัสภาษาสำหรับข้อความดังกล่าว)


0

สิ่งนี้ถูกควบคุมโดยตัวแปร site_offline

$ drush vset --always-set site_offline 1

คุณสามารถตั้งค่าข้อความออฟไลน์ด้วยวิธีนี้

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

สิ่งนี้จะนำไซต์กลับมาหากการบำรุงรักษาล้มเหลว
สจ๊วตโรบินสัน

ขอบคุณสำหรับการชี้ให้เห็นว่า แน่นอนควรตั้งค่าเป็น 1 ไม่มีอะไรอื่น
Tobias Sjösten

0

จากการใช้ Drupal 6:

drush vset site_offline 1

วิธีนำออกจากการบำรุงรักษา:

drush vset site_offline 0
drush cc all
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.