WP-CLI használata cPanel tárhelyen: a leggyakoribb parancsok

WordPress 5 perc olvasás

A WP-CLI a WordPress parancssori kezelőfelülete: bővítményeket kapcsolhat ki vagy frissíthet vele akkor is, ha az admin felület nem töltődik be, átírhatja a webhely címét, és olyan feladatokat végezhet el másodpercek alatt, amelyekhez a böngészőben sok kattintás kellene. cPanel tárhely csomagjainkban a wp parancs telepítve van, és az SSH-hozzáféréssel rendelkező csomagokban (cP Premium, cP Pro, cP Pro 100) használható.

A cikk bemutatja, hogyan dolgozzon biztonságosan, mire figyeljen az aWh cPanel szerverein, és összegyűjti a mindennap használt parancsokat.

A terminál megnyitása

  • cPanel Terminal: a cPanel Speciális csoportjában kattintson a Terminal ikonra. A böngészőben megnyíló parancssor ugyanaz, mint egy SSH-kapcsolat, és eleve a saját felhasználójaként fut.
  • SSH: a saját gépéről a 4231-es porton, SSH-kulccsal léphet be (jelszavas belépés nincs). A kulcs beállítását az SSH-kulcs létrehozásáról szóló cikk írja le.

cPanel Terminal: WP-CLI parancsok a staging webhely mappájában

Mindig a megfelelő webhelyen dolgozzon

A WP-CLI abból a mappából dolgozik, ahol éppen áll, vagy amelyet a --path kapcsolóval megad. Ha a tárhelyén több WordPress fut (például egy éles oldal és egy staging másolat), egy rossz mappában kiadott wp plugin deactivate --all a másik webhelyet állítja le. Ezért minden munka elején ellenőrizze:

cd ~/public_html
pwd
wp core is-installed && wp option get siteurl

Ha a siteurl nem annak a webhelynek a címe, amelyen dolgozni akart, rossz mappában van.

Hol vannak a webhelyek? A fő domain a public_html mappában van. Egy új domain vagy aldomain felvételekor a cPanel a mappát a domain nevével, a public_html mellé hozza létre: a staging.pelda.hu aldomain WordPresse például a ~/staging.pelda.hu mappában van, nem a public_html alatt. A pontos útvonalat a Tartományok oldal Dokumentumgyökér oszlopában látja (részletek: Mi a weboldalam gyökérkönyvtára?).

Egyszeri parancsoknál a mappaváltás helyett adja meg az útvonalat:

wp --path=/home/felhasznalonev/staging.pelda.hu plugin list

Az aWh cPanel szervereinek sajátosságai

  • A PHP-verzió: a parancssori php és így a WP-CLI is azt a PHP-verziót használja, amelyet a Select PHP Version felületen beállított (PHP-bővítmények és -beállítások). A parancssori PHP-nek nincs memóriakorlátja, ezért egy nagy importálás itt akkor is lefut, ha a böngészőből elakad.
  • A wp db parancsok egy része nem működik. A biztonsági beállítások miatt a PHP nem indíthat külső programot (a proc_open le van tiltva), ezért a wp db export, wp db import, wp db query, wp db check és wp db cli ezzel a hibával áll le: The PHP functions proc_open() and/or proc_close() are disabled. Ugyanezért a wp --info is hibát ír a kimenete végén. A wp db prefix, wp db tables, wp db size és wp db search működik, ahogy a wp search-replace és a wp option is. Adatbázis-mentéshez és SQL-lekérdezéshez használja közvetlenül a mysqldump és a mysql parancsot (lásd lent), vagy a phpMyAdmint.
  • A táblák előtagja nem mindig wp_. A WP Toolkit telepítéskor véletlenszerű előtagot ad (például 1vL7334_options). A sajátját a wp db prefix írja ki; az SQL-lekérdezésekben ezt használja.

Adatbázis-mentés és SQL a mysql paranccsal

A mysqldump és a mysql parancsnak meg kell adni az adatbázis felhasználóját és jelszavát. Hogy a jelszó ne kerüljön a parancssorba (és a parancselőzményekbe), írja egy csak Ön által olvasható fájlba, a wp-config.php adataiból:

cd ~/public_html
umask 077
printf '[client]\nuser=%s\npassword="%s"\nhost=localhost\n' \
  "$(wp config get DB_USER)" "$(wp config get DB_PASSWORD)" > ~/.my.cnf

A host mindig localhost legyen akkor is, ha a wp-config.php fájlban localhost:3306 szerepel. Ezután:

# Mentés a webről nem elérhető home könyvtárba
mysqldump --single-transaction --no-tablespaces "$(wp config get DB_NAME)" > ~/mentes-$(date +%F).sql
tail -1 ~/mentes-$(date +%F).sql

# Lekérdezés
mysql "$(wp config get DB_NAME)" -e "SELECT COUNT(*) FROM $(wp db prefix)posts"

# Visszaállítás a mentésből
mysql "$(wp config get DB_NAME)" < ~/mentes-2026-10-27.sql

Egy teljes mentés utolsó sora -- Dump completed on …; ha ez hiányzik, a mentés félbeszakadt. Ha a ~/.my.cnf fájlra a munka után nincs szüksége, törölje (rm ~/.my.cnf), és ha az adatbázis jelszavát megváltoztatja, írja újra.

Óvatosan a módosító parancsokkal

  • Próbálja ki előbb. Ahol van --dry-run kapcsoló (például a wp search-replace parancsnál), először azzal futtassa, olvassa el az eredményt, és csak utána élesben.
  • Mentés előtte. Egy hibás tömeges művelet után a napi mentésből is visszaállhat (visszaállítás JetBackupból), de egy friss mysqldump gyorsabb.
  • Karbantartási mód a látogatók elől elrejti a félkész állapotot:
wp maintenance-mode activate
wp plugin update --all
wp maintenance-mode deactivate
  • Naplózza a munkamenetet, ha sok lépést végez: a script ~/wp-cli-$(date +%F-%H%M).log parancs után minden, amit beír és amit a gép válaszol, a fájlba is bekerül (kilépés: exit).

A leggyakoribb parancsok

A webhely állapota

wp core version                      # WordPress-verzió
wp core check-update                 # van-e új verzió
wp core verify-checksums             # sérültek-e az alapfájlok
wp option get siteurl                # a webhely címe
wp option get home
wp db size --size_format=mb          # az adatbázis mérete

Bővítmények és témák

wp plugin list
wp plugin list --update=available    # amelyekhez van frissítés
wp plugin install contact-form-7 --activate
wp plugin deactivate contact-form-7
wp plugin update --all
wp plugin update woocommerce --version=9.8.1   # adott verzióra
wp plugin delete hello

wp theme list
wp theme activate twentytwentyfive
wp theme update --all

Felhasználók

wp user list --role=administrator
wp user create szerkeszto szerkeszto@pelda.hu --role=editor
wp user update 1 --user_pass='ÚjErősJelszó'
wp user session destroy 1 --all      # kijelentkeztetés minden eszközről
wp user delete 5 --reassign=1        # a tartalmai az 1-es felhasználóhoz kerülnek

Beállítások, átmeneti adatok, gyorsítótár

wp option get blogname
wp option update blogname "Új név"
wp transient delete --expired        # lejárt átmeneti adatok törlése
wp cache flush                       # objektum-gyorsítótár ürítése
wp rewrite flush                     # közvetlen hivatkozások újraépítése

Ütemezett feladatok

wp cron event list
wp cron event run --due-now          # az esedékes feladatok futtatása
wp cron test

Média

wp media regenerate --yes            # bélyegképek újragenerálása
wp media import ~/kep.jpg --title="Kép címe"

Címcsere

wp search-replace 'regi-domain.hu' 'uj-domain.hu' --all-tables --skip-columns=guid --dry-run

A címcserét a domainváltás utáni URL-cseréről szóló cikk részletesen leírja.

Konfiguráció

wp config get DB_NAME
wp config set WP_DEBUG true --raw
wp config list

A --raw kapcsoló logikai értéket (true, false) vagy számot ír a fájlba idézőjelek nélkül; szövegnél hagyja el.

A legtöbb parancs a --format=json, --format=csv vagy --format=count kapcsolóval más formában is kiírja az eredményt, és a wp help <parancs> megmutatja az összes lehetőségét. A WordPress alapfájljainak újratelepítését külön cikk írja le: WordPress újratelepítése WP-CLI segítségével.

Ha nincs SSH-hozzáférése

A cP Basic csomagban nincs SSH és Terminal. Ilyenkor a WP Toolkit (WordPress Management) felületén végezheti el a legtöbb feladatot: frissítés, bővítmények és témák kezelése, mentés, klónozás. WP-CLI parancsot is futtathat: a webhely kártyáján kattintson a WP-CLI linkre, és a megnyíló ablak Parancs mezőjébe írja be a parancsot a wp szó nélkül (például plugin list). A WP Toolkit az eredményt az ablak alsó részében mutatja.

WP Toolkit: a WP-CLI ablak Parancs mezője

Ha rendszeresen dolgozik parancssorban, érdemes SSH-hozzáféréssel rendelkező csomagra váltania.

Vissza: WordPress leírások (39)