WordPress-Wartungsmodus manuell aktivieren

08. September 2022 · Anwendungen · andreas · Kein Kommentar

Bei einer Aktualiserung schaltet WordPress die Website automatisch in den Wartungsmodus, ein Mechanismus, den man auch für manuelle Wartungen aktivieren kann.

Zum Aktivieren wird eine Datei “.maintenance” mit folgendem Inhalt im Hauptverzeichnis der WordPress-Installation angelegt, welche den Wartungsmodus bis zum Entfernen (oder Umbenennen der Datei) aktiviert.

<?php $upgrading = time(); >

Die Erklärung der Funktionsweise findet sich im WordPress-Quellcode innerhalb der Datei load.php

... 303 function wp_is_maintenance_mode() { 304 global $upgrading; 305 306 if ( ! file_exists( ABSPATH . '.maintenance' ) || wp_installing() ) { 307 return false; 308 } 309 310 require ABSPATH . '.maintenance'; 311 // If the $upgrading timestamp is older than 10 minutes, consider maintenance over. 312 if ( ( time() - $upgrading ) >= 10 * MINUTE_IN_SECONDS ) { 313 return false; 314 } ...

Im ersten Schritt wird das Vorhandensein einer Datei “.maintenance” im Hauptverzeichnis der WordPress-Installation geprüft. Ist diese vorhanden, so wird vom aktuellen Zeitstempel der Wert der Variablen “$upgrading” subtrahiert. Ist der Rest größer oder gleich 10 Minuten, so wird der Wartungsmodus deaktiviert.

Durch das Setzen der Variable “$upgrading” auf den aktuellen Zeitstempel bleibt die Differenz immer 0, die 10 Minuten werden nie überschritten und der Wartungsmodus kann manuell gesteuert werden.