และยินดีต้อนรับสู่ StackExchange
ตามที่ระบุไว้ในความคิดเห็นเกี่ยวกับคำถามของคุณ คุณกำลังขอโหมดการบำรุงรักษาซึ่งเป็นส่วนหนึ่งของ Drupal core ในไซต์ของคุณ ไปที่ /admin/config/development/maintenance
และดูการตั้งค่าที่นั่น คุณสามารถเปิดโหมดการบำรุงรักษา และตั้งค่าข้อความที่แสดงต่อผู้ใช้ที่ไม่ได้รับอนุญาต นอกจากนี้ยังมีการตั้งค่าการอนุญาต (พบได้ในหน้าการอนุญาต) เพื่อยังคงใช้ไซต์ในโหมดการบำรุงรักษา ในกรณีที่คุณต้องการแก้ไขในขณะที่ผู้อื่นไม่สามารถเข้าถึงไซต์ได้
เพื่อให้สิ่งนี้เกิดขึ้นโดยอัตโนมัติตามเวลา คุณจะต้องใช้ Cron นั่นคือสิ่งที่ Cron สร้างขึ้นมาเพื่อสิ่งนี้ ดังนั้นมันจึงเหมาะสมอย่างยิ่ง ในการใช้ Cron สำหรับสิ่งนี้ คุณจะต้องมีรหัสที่มีประโยชน์ซึ่งสามารถทำสิ่งเดียวกันกับช่องทำเครื่องหมายใน UI การบำรุงรักษา Drush เป็นเครื่องมือที่ทรงพลังมาก และสามารถทำได้เกือบทุกอย่าง หากต้องการเปิดโหมดการบำรุงรักษา คุณสามารถเรียกใช้สิ่งนี้:
สถานะ drush:set system.maintenance_mode 1 --input-format=integer
พบคำสั่งนั้นและอธิบายบน หน้านี้.
ตอนนี้คุณต้องให้คำสั่งนั้นรันโดย cron แทนคำสั่งโดยมนุษย์ในบรรทัดคำสั่งของเซิร์ฟเวอร์ โชคดีสำหรับคุณ Drupal มีประวัติอันยาวนานในการใช้โค้ดแบบกำหนดเองที่คุณเพิ่มแบบไดนามิก ตราบใดที่ชื่อตรงกัน นั่นคือระบบ hook ซึ่งมีการเรียกใช้โมดูลและฟังก์ชันแบบกำหนดเองที่ตรงกับรูปแบบบางอย่างในบางช่วงเวลา คุณจะต้องการ สร้างโมดูลที่กำหนดเอง ที่ใช้ hook_cron() เพื่อเรียกใช้คำสั่ง drush ตามเวลาที่กำหนด
และสุดท้าย ล้างแคชเสมอก่อนที่จะคิดว่ามีบางอย่างเสีย