WordPress-Wartungsmodus manuell aktivieren

8. 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.