WDesign ™

WordPress lädt admin.php herunter beim Klick auf einen Button

Nach einem Update einiger Plugins wollte ich zum Abschluss die „Woocommerce Datenbank aktualisieren“. Allerdings wurde die Aktualisierung nicht durchgeführt und stattdessen hat meine WordPress 6.7.1 Version eine Datei namens „admin.php“ heruntergeladen. An ein ähnliches Problem in der Vergangenheit kann ich mich dunkel erinnern. Es scheint also verschiedene Ursachen zu geben und dieses Phänomen auch in anderen Szenarien aufzutreten.

WordPress lädt admin.php herunter

Das die Datei admin.php heruntergeladen wird anstatt die gewünschte Aktion durchzuführen scheint verschiedene Verursacher zu haben. Ich konnte das Problem in meinem Fall zwar lösen, aber ich weiß nicht genau welche Änderung dies letztendlich bewirkt hat. Grund ist, dass irgendwann mal den Inkognito Modus verwendet habe und die Datei nicht mehr heruntergeladen wurde. Bis dahin hatte ich aber schon ein paar Lösungsansätze vorgenommen.

Mögliche Ursachen

  1. PHP wird nicht korrekt ausgeführt:
    • Wenn PHP auf dem Server nicht richtig konfiguriert ist oder eine veraltete PHP-Version verwendet wird, könnte die Anfrage, die durch die Datenbankaktualisierung ausgelöst wird, nicht ordnungsgemäß verarbeitet werden, was zu einer Datei-Download-Aktion führt.
    • WooCommerce erfordert eine funktionierende PHP-Umgebung, und wenn es hier ein Problem gibt, könnte der Server die PHP-Dateien nicht korrekt ausführen und bietet stattdessen admin.php zum Download an.
  2. Fehlende oder falsche .htaccess-Regeln:
    • Die .htaccess-Datei könnte fehlerhafte Umleitungen oder Sicherheitsregeln enthalten, die verhindern, dass WordPress korrekt funktioniert. Dies kann insbesondere bei der Nutzung von „mod_rewrite“ oder ähnlichen Funktionen zu einem Problem führen.
  3. WooCommerce-Datenbank-Fehler oder -Konflikte:
    • Es könnte ein Problem mit der WooCommerce-Datenbankstruktur oder ein Konflikt mit einem anderen Plugin bestehen, der die Datenbankaktualisierung stört. In einigen Fällen führen diese Konflikte dazu, dass die Seite auf eine nicht korrekt verarbeitete Anfrage reagiert.
  4. Fehlerhafte oder inkompatible Plugins oder Themes:
    • Ein Plugin oder Theme (insbesondere Sicherheitsplugins oder Caching-Plugins) könnte die Ausführung des Update-Prozesses blockieren. Diese können verhindern, dass WooCommerce seine Datenbank richtig aktualisiert, was zu unerwartetem Verhalten führt.
  5. Fehlerhafte Serverberechtigungen:
    • Die Berechtigungen für Dateien oder Ordner auf dem Server (insbesondere im wp-admin-Verzeichnis) könnten so konfiguriert sein, dass sie das ordnungsgemäße Ausführen von PHP verhindern.

Lösung

Einer der folgenden Lösungsansätze von 1-3 hat das Problem in meinem Fall behoben. Welcher weiß ich nicht. Zusätzlich habe ich aber noch weitere Lösungen bereitgestellt die in Deinem Fall helfen könnten, dass die Datei admin.php nicht mehr heruntergeladen wird wenn Du einen Button anklickst.

Deaktivieren von Caching- und Sicherheits-Plugins

Deaktiviere alle Caching-Plugins (z.B. WP Super Cache, W3 Total Cache) und Sicherheitsplugins (z.B. Wordfence, iThemes Security), die das Update stören könnten. Versuche dann, die Datenbank erneut zu aktualisieren.

.htaccess zurücksetzen

Setze die .htaccess-Datei auf die Standardwerte von WordPress zurück, um sicherzustellen, dass keine fehlerhaften Umleitungen oder Regeln vorliegen:

Öffne die .htaccess-Datei im Hauptverzeichnis deiner WordPress-Installation und ersetze ihren Inhalt durch folgendes:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Server-Fehlerprotokolle durchsuchen

Überprüfe die Fehlerprotokolle auf dem Server (z.B. Apache- oder NGINX-Logs) auf spezifische Fehlermeldungen, die dir mehr Hinweise darauf geben könnten, warum der Fehler auftritt.

Füge die folgenden Zeilen in die wp-config.php ein, um die Fehlerprotokollierung zu aktivieren. Du kannst dies am besten kurz vor der Zeile tun, die mit /* That's all, stop editing! Happy publishing. */ endet:

// Fehlerprotokollierung aktivieren
define('WP_DEBUG', true);  // Fehleranzeige aktivieren
define('WP_DEBUG_LOG', true);  // Fehler in eine Log-Datei schreiben
define('WP_DEBUG_DISPLAY', false);  // Fehler nicht direkt im Browser anzeigen
@ini_set('display_errors', 0);  // Fehler nicht direkt im Browser anzeigen

Diese Einstellungen bewirken:

  • WP_DEBUG: Aktiviert die Fehlerprotokollierung in WordPress.
  • WP_DEBUG_LOG: Schreibt alle Fehler in eine Datei namens debug.log im Ordner wp-content (hier kannst du später nach den Fehlern suchen).
  • WP_DEBUG_DISPLAY: Deaktiviert die direkte Fehleranzeige im Browser (um Sicherheitsrisiken zu vermeiden).
  • @ini_set('display_errors', 0): Stellt sicher, dass Fehler nicht im Browser angezeigt werden, auch wenn PHP auf Fehlerprotokollierung eingestellt ist.

Fehlerprotokoll überprüfen:

  • Nachdem du diese Änderungen vorgenommen hast, versuche erneut, die WooCommerce-Datenbank zu aktualisieren oder die Seite zu laden, auf der der Fehler auftritt.
  • Gehe dann zum Ordner wp-content und suche nach der Datei debug.log. Öffne diese Datei, um alle protokollierten Fehler zu sehen, die dir helfen sollten, den Grund für das Problem herauszufinden.

In meinem Fall wurden aber in der debug.log keine Fehler angezeigt.

Wichtige Hinweise:

  • Sicherheitsaspekte: Stelle sicher, dass du die Fehleranzeige nach der Fehlerbehebung wieder deaktivierst. Lass WP_DEBUG niemals in einer Live-Umgebung auf „true“ stehen, da dies sensible Informationen wie Datenbankdetails oder Serverpfade preisgeben könnte.
  • Log-Datei löschen: Wenn du das Problem identifiziert und behoben hast, lösche die debug.log-Datei, um sicherzustellen, dass keine sensiblen Daten mehr auf dem Server gespeichert sind. Du kannst auch die Zeilen in der wp-config.php wieder entfernen oder auf false setzen.

PHP-Version prüfen

Vergewissere dich, dass dein Server eine unterstützte PHP-Version verwendet (mindestens PHP 7.4 oder höher für WooCommerce). Du kannst dies bei deinem Hosting-Anbieter oder im Server-Admin-Panel überprüfen.

WooCommerce-Datenbank-Update manuell durchführen

Wenn das Problem nur beim automatischen Datenbankupdate auftritt, kannst du versuchen, das Update manuell durchzuführen, indem du die WooCommerce-Datenbanktabellen direkt über phpMyAdmin oder ein ähnliches Tool überprüfst und reparierst.

Repariere oder deaktiviere Plugins und Themes

Versuche, auf das Standard-WordPress-Theme (z.B. Twenty Twenty-Three) umzuschalten und alle nicht notwendigen Plugins zu deaktivieren. Prüfe dann, ob das Update funktioniert.

Berechtigungen überprüfen

Überprüfe, ob die Berechtigungen für die wp-admin-Verzeichnisse korrekt gesetzt sind. Sie sollten in der Regel 755 für Ordner und 644 für Dateien sein. Achte darauf, dass der Webserver Schreibrechte hat.

Lösungsweg gefunden?

Falls die oben genannten Schritte das Problem nicht lösen, könnte es hilfreich sein, den Hosting-Anbieter zu kontaktieren, um zu prüfen, ob serverseitige Einstellungen (z.B. PHP-Konfiguration) oder Sicherheitsrichtlinien die Ursache sind.

Konntest Du das Problem mit dem download der admin.php beheben? Welcher Lösungsansatz hat in Deinem Fall geholfen oder kennst Du weitere Lösungsvorschläge derartige Probleme in WordPress zu beheben?

Hey, hast Du eine Frage oder möchtest was loswerden?

Schreib´ einen Kommentar

WDesign
Logo