KPanel enthält eine WP-CLI-Konsole, mit der Sie Befehle gegen Ihre WordPress-Website direkt im Browser ausführen können, ganz ohne SSH-Client und ohne Server-Login. Diese Anleitung erklärt, wo Sie sie finden, welche Befehle genau erlaubt sind und warum, welche Abkürzungen im Bildschirm eingebaut sind und was zu tun ist, wenn Sie etwas brauchen, das die Konsole nicht ausführt.
Die Konsole öffnen
- Melden Sie sich bei KPanel an und klicken Sie in der linken Seitenleiste auf Websites.
- Klicken Sie auf Ihre WordPress-Website.
- Öffnen Sie den Reiter WordPress und dann den Bereich Console.

Die Eingabe beginnt bereits mit einem festen wp, Sie geben also nur das ein, was danach kommt. plugin list, nicht wp plugin list. Drücken Sie die Eingabetaste oder klicken Sie auf Run.
Console ist einer der Bereiche, die bei Managed-Plänen angezeigt werden. Bei anderen Plänen endet die Reiterleiste stattdessen mit einem Link +8 on Managed. Jede hier beschriebene Aktion, die kein roher Befehl ist, hat an anderer Stelle in KPanel eine entsprechende Schaltfläche, es geht also nichts verloren: Die Konsole ist nur ein schnellerer Weg zur selben Engine.
Befehle laufen unter dem eigenen Systembenutzer Ihrer Website, innerhalb des Verzeichnisses Ihrer Website. Sie können keine andere Website sehen oder beeinflussen.
Was die Konsole ausführt und was nicht
Die Konsole verwendet eine Positivliste (Allowlist). Nur die unten stehenden Befehlspräfixe werden akzeptiert, alles andere wird abgelehnt, bevor es den Server erreicht, mit einer Meldung, die den abgelehnten Befehl nennt.
| Bereich | Erlaubt |
|---|---|
| Core | core version, core check-update, core update, core is-installed, core verify-checksums |
| Plugins | plugin list, plugin update, plugin install, plugin activate, plugin deactivate, plugin status, plugin get, plugin delete, plugin verify-checksums |
| Themes | theme list, theme update, theme install, theme activate, theme status, theme get, theme delete |
| Benutzer | user list, user get, user create, user update, user set-role, user delete, user reset-password, user add-cap, user remove-cap, user generate |
| Datenbank | db size, db tables, db optimize, db repair, db check |
| Cache und Transients | cache flush, cache get, cache set, cache add, cache delete, transient get, transient set, transient delete |
| Rewrite-Regeln | rewrite flush, rewrite list, rewrite structure |
| Cron | cron event list, cron event run, cron schedule list |
| Konfiguration | config get, config list, config has, config shuffle-salts |
| Wartungsmodus | maintenance-mode activate, maintenance-mode deactivate, maintenance-mode status |
| Nur lesende Prüfung | option get, option list, post list, post get, comment list, comment get |
| Medien und Sprache | media regenerate, language core install, language core update |
| Suchen und Ersetzen | search-replace |
Die bewussten Ausschlüsse sind wichtiger als die Einschlüsse:
evalundshellsind gesperrt. Beliebiger PHP-Code und beliebige Shell-Befehle würden die Konsole einer Root-Eingabeaufforderung in einem Browser-Tab gleichsetzen.db import,db export,db drop,db queryunddb resetsind gesperrt. Import und Zurücksetzen zerstören eine Datenbank ohne Bestätigungsschritt;db queryist eine uneingeschränkte SQL-Eingabeaufforderung. Verwenden Sie stattdessen phpMyAdmin: Zugriff auf Ihre Datenbank mit phpMyAdmin.config setundconfig deletesind gesperrt. Eine fehlerhaftewp-config.php-Schreibaktion nimmt die Website vom Netz. Lesen Sie die Werte hier, ändern Sie sie über den Dateimanager.option updateundoption deletesind gesperrt. Optionen blind zu bearbeiten ist ein häufiger Weg, eine Website irreparabel zu beschädigen.
Die Konsole erstellt bei keinem Befehl automatisch ein Backup für Sie. Das übernehmen nur die Schaltflächen im Bereich Schnellaktionen. Erstellen Sie vor search-replace, core update, plugin update, theme update, db optimize oder db repair selbst ein Backup über die Seite Sicherungen der Website. Siehe Ein Backup erstellen.
Arbeiten in der Konsole
Der Bildschirm bietet mehr als nur die Eingabe eines Befehls nach dem anderen.
Voreingestellte Schaltflächen. Über der Eingabeaufforderung befinden sich gruppierte Abkürzungen: Performance (Cache leeren, Transients löschen, Rewrites leeren, Autoload-Prüfung), Datenbank (optimieren, prüfen, reparieren, Größe), Diagnose (WP-Version, auf Updates prüfen, Core verifizieren, Cron-Ereignisse), Inhalt (Plugins, Themes, Benutzer auflisten, Cron jetzt ausführen), Sicherheit (Admin-Benutzer, Plugin-Prüfsummen, Salts zurücksetzen, wp-config) und Wartung (Wartungsmodus ein und aus, Vorschaubilder neu erzeugen, Status). Ein Klick führt den Befehl aus.
Verlauf. Drücken Sie die Pfeiltasten nach oben und unten in der Eingabeaufforderung, um durch Ihre letzten 50 Befehle auf dieser Website zu blättern.
Snippets. Klicken Sie auf das Lesezeichensymbol neben einem Befehl, um ihn mit einem Namen zu speichern, sodass ein langer Aufruf, den Sie jeden Monat benötigen, beim nächsten Mal nur einen Klick erfordert.
Umgebungskarte. Über der Eingabeaufforderung zeigt eine Karte die PHP-Version, die WordPress-Version, das Speicherlimit, den aktuell genutzten Speicher, das Upload-Maximum und das Zeitlimit für die Ausführung der Website, mit einer Schaltfläche Für Support kopieren, die all dies zusammen mit Ihrer Liste aktiver Plugins in die Zwischenablage legt. Fügen Sie das in ein Support-Ticket ein, und Sie haben sich eine Rückfrage erspart.
Ausgabe kopieren. Jeder Ergebnisblock verfügt über Schaltflächen zum Kopieren und Löschen.
Die Ausgabe wird fortlaufend während der Ausführung des Befehls übertragen, sodass ein langer Vorgang einen Fortschritt zeigt, statt stumm dazusitzen.
Befehle, die man kennen sollte
Diagnose
core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes
verify-checksums vergleicht Ihre Core- und Plugin-Dateien mit den offiziell veröffentlichten Versionen und meldet alles, was verändert wurde. Das ist die schnellste erste Prüfung bei einer Website, bei der Sie Manipulation vermuten.
option list --autoload=yes listet jede Option auf, die WordPress bei jeder einzelnen Anfrage lädt. Eine aufgeblähte Autoload-Tabelle ist eine der häufigsten Ursachen für eine Website, die ohne erkennbaren Grund langsam ist.
Instandhaltung
cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now
Benutzer
user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'
Alles, was hier eingegeben wird, wird im Aktivitätsprotokoll Ihres Kontos erfasst, einschließlich Passwörtern. Ändern Sie ein auf diese Weise gesetztes Passwort, sobald Sie sich angemeldet haben. Vollständige Details zur Kontowiederherstellung finden Sie unter Zurücksetzen eines verlorenen WordPress-Admin-Passworts.
Suchen und Ersetzen
search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run
Führen Sie immer zuerst einen Probedurchlauf (Dry Run) aus. Die vollständige Anleitung, einschließlich der Erklärung, warum ein roher SQL-Ersetzungsbefehl eine WordPress-Datenbank beschädigt, finden Sie unter Eine Suchen-und-Ersetzen-Aktion ausführen.
Konsole oder Schnellaktionen?
Beide führen im Hintergrund dieselbe WP-CLI aus. Entscheiden Sie anhand folgender Kriterien:
| Aufgabe | Besserer Weg |
|---|---|
| Cache leeren, Plugins aktualisieren, Medien neu erzeugen | Schnellaktionen, ein Klick, und es wird vorher ein Backup erstellt |
| Suchen und Ersetzen mit tabellenweiser Vorschau | Schnellaktionen, die Karte Search & Replace |
| Alles, was ein bestimmtes Flag benötigt | Konsole |
| Auflisten, prüfen, diagnostizieren | Konsole |
| Ein einzelnes überfälliges Cron-Ereignis ausführen | Konsole |
wp-config.php bearbeiten oder eine Datenbank importieren | Keins von beiden. Verwenden Sie den Dateimanager oder phpMyAdmin |
Wenn Sie mehr als die Positivliste benötigen
Für uneingeschränkte WP-CLI verbinden Sie sich über SSH und führen wp direkt aus dem Verzeichnis Ihrer Website aus. SSH verwendet ausschließlich Schlüsselauthentifizierung. Fügen Sie also zunächst Ihren öffentlichen Schlüssel über den Reiter Einstellungen der Website und dann SSH-Schlüssel hinzu. Die Verbindungsdetails, einschließlich des genauen Hosts, Ports und Benutzernamens, werden auf demselben Bildschirm angezeigt. Siehe SSH-Schlüssel hinzufügen und Verbindung über SFTP herstellen.
Fehlerbehebung
"'x y' is not in the allowed command list." Der Befehl steht nicht auf der Positivliste. Prüfen Sie die obige Tabelle auf das nächstliegende erlaubte Äquivalent, oder verwenden Sie SSH.
"No results returned. Check that WP-CLI is available." Der Befehl wurde ausgeführt, hat aber nichts ausgegeben. Das ist bei einer Abfrage ohne Treffer in der Regel das korrekte Verhalten.
Der Befehl läuft in ein Timeout. Konsolenbefehle sind auf 60 Sekunden begrenzt. Lange Vorgänge wie das Neuerzeugen einer großen Mediathek sollten über Schnellaktionen ausgeführt werden, das ein längeres Limit verwendet, oder über SSH.
Nichts läuft, und die Schaltflächen sind deaktiviert. Ihre KapsuleHost-Kontorolle ist für diese Website auf "nur lesend" gesetzt. Bitten Sie einen Kontoinhaber, sie zu erhöhen.