# Usare WP-CLI sul tuo sito WordPress

Source: https://support.kapsulehost.com/it-it/wordpress-wp-cli

KPanel include una console WP-CLI che esegue comandi sul tuo sito WordPress direttamente dal browser, senza bisogno di un client SSH o di un accesso al server. Questa guida spiega dove trovarla, quali comandi esattamente sono consentiti e perché, le scorciatoie integrate nella schermata e cosa fare quando hai bisogno di qualcosa che la console non esegue.

## Aprire la console

1. Accedi a [KPanel](https://kpanel.kapsulehost.com) e fai clic su **Siti web** nella barra laterale sinistra.
2. Fai clic sul tuo sito WordPress.
3. Apri la scheda **WordPress**, quindi la sezione **Console**.

![WP-CLI console on a WordPress site in KPanel](https://support.kapsulehost.com/help/screenshots/wordpress-wp-cli.c3f61741.webp)

L'input inizia già con un `wp` fisso, quindi digiti solo ciò che viene dopo. `plugin list`, non `wp plugin list`. Premi Invio oppure fai clic su **Run**.

> **Note:** **Console** è una delle sezioni che compaiono sui piani gestiti. Sugli altri piani, la barra delle schede termina invece con un link **+8 on Managed**. Ogni azione descritta qui che non sia un comando grezzo ha un pulsante equivalente altrove in KPanel, quindi nulla è fuori portata: la console è semplicemente un modo più veloce per raggiungere lo stesso motore.

I comandi vengono eseguiti come l'utente di sistema proprio del tuo sito, all'interno della directory del tuo sito. Non possono vedere né toccare nessun altro sito.

## Cosa la console esegue e cosa no

La console utilizza una lista di comandi consentiti (allowlist). Vengono accettati solo i prefissi di comando indicati di seguito; qualsiasi altro viene rifiutato prima ancora di raggiungere il server, con un messaggio che indica il nome del comando rifiutato.

| Area | Consentiti |
|---|---|
| Core | `core version`, `core check-update`, `core update`, `core is-installed`, `core verify-checksums` |
| Plugin | `plugin list`, `plugin update`, `plugin install`, `plugin activate`, `plugin deactivate`, `plugin status`, `plugin get`, `plugin delete`, `plugin verify-checksums` |
| Temi | `theme list`, `theme update`, `theme install`, `theme activate`, `theme status`, `theme get`, `theme delete` |
| Utenti | `user list`, `user get`, `user create`, `user update`, `user set-role`, `user delete`, `user reset-password`, `user add-cap`, `user remove-cap`, `user generate` |
| Database | `db size`, `db tables`, `db optimize`, `db repair`, `db check` |
| Cache e transient | `cache flush`, `cache get`, `cache set`, `cache add`, `cache delete`, `transient get`, `transient set`, `transient delete` |
| Regole di rewrite | `rewrite flush`, `rewrite list`, `rewrite structure` |
| Cron | `cron event list`, `cron event run`, `cron schedule list` |
| Configurazione | `config get`, `config list`, `config has`, `config shuffle-salts` |
| Modalità di manutenzione | `maintenance-mode activate`, `maintenance-mode deactivate`, `maintenance-mode status` |
| Ispezione in sola lettura | `option get`, `option list`, `post list`, `post get`, `comment list`, `comment get` |
| Media e lingua | `media regenerate`, `language core install`, `language core update` |
| Cerca e sostituisci | `search-replace` |

Le esclusioni deliberate contano più delle inclusioni:

- **`eval` e `shell`** sono bloccati. PHP e shell arbitrari renderebbero la console equivalente a un prompt root in una scheda del browser.
- **`db import`, `db export`, `db drop`, `db query` e `db reset`** sono bloccati. L'importazione e il reset distruggono un database senza alcuna conferma; `db query` è un prompt SQL senza restrizioni. Usa invece phpMyAdmin: [Accedere al tuo database con phpMyAdmin](https://support.kapsulehost.com/it-it/sites-phpmyadmin).
- **`config set` e `config delete`** sono bloccati. Una scrittura errata di `wp-config.php` mette il sito offline. Leggi qui i valori, modificali tramite il file manager.
- **`option update` e `option delete`** sono bloccati. Modificare le opzioni alla cieca è un modo comune per rompere un sito in modo irreparabile.

> **Warning:** La console non esegue alcun backup per te, con nessun comando. Solo i pulsanti nella sezione **Azioni rapide** lo fanno. Prima di `search-replace`, `core update`, `plugin update`, `theme update`, `db optimize` o `db repair`, esegui tu stesso un backup dalla pagina **Backup** del sito. Vedi [Eseguire un backup](https://support.kapsulehost.com/it-it/taking-a-backup).

## Lavorare nella console

La schermata fa di più che accettare un comando alla volta.

**Pulsanti preimpostati.** Sopra il prompt sono raggruppate alcune scorciatoie: Performance (svuota la cache, cancella i transient, svuota le regole di rewrite, controllo autoload), Database (ottimizza, controlla, ripara, dimensione), Diagnostica (versione WP, controlla aggiornamenti, verifica il core, eventi cron), Contenuti (elenca plugin, temi, utenti, esegui ora il cron), Sicurezza (utenti amministratori, checksum dei plugin, reimposta i salt, wp-config) e Manutenzione (attiva e disattiva la modalità di manutenzione, rigenera le miniature, stato). Un clic esegue il comando.

**Cronologia.** Premi le frecce su e giù nel prompt per scorrere gli ultimi 50 comandi eseguiti su questo sito.

**Snippet.** Fai clic sull'icona segnalibro accanto a un comando per salvarlo con un nome, così un'invocazione lunga che usi ogni mese diventa un clic la volta successiva.

**Scheda ambiente.** Sopra il prompt, una scheda mostra la versione PHP del sito, la versione di WordPress, il limite di memoria, la memoria attualmente in uso, il massimo di caricamento e il limite di tempo di esecuzione, con un pulsante **Copia per il supporto** che copia tutto questo, più l'elenco dei plugin attivi, negli appunti. Incollalo in un ticket di supporto e avrai risparmiato un giro di scambi.

**Copia output.** Ogni blocco di risultati ha pulsanti per copiare e cancellare.

L'output viene trasmesso in tempo reale man mano che il comando viene eseguito, così un'operazione lunga mostra l'avanzamento invece di rimanere silenziosa.

## Comandi utili da conoscere

### Diagnosi

```
core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes
```

`verify-checksums` confronta i file core e dei plugin con le copie ufficiali pubblicate e segnala qualsiasi modifica. È il primo controllo più rapido su un sito che sospetti sia stato manomesso.

`option list --autoload=yes` elenca ogni opzione che WordPress carica a ogni singola richiesta. Una tabella autoload sovraccarica è una delle cause più comuni di un sito lento senza motivo apparente.

### Manutenzione ordinaria

```
cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now
```

### Utenti

```
user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'
```

Tutto ciò che digiti qui viene registrato nel log delle attività del tuo account, incluse le password. Cambia una password impostata in questo modo non appena hai effettuato l'accesso. Tutti i dettagli sul recupero dell'account sono in [Reimpostare una password amministratore WordPress smarrita](https://support.kapsulehost.com/it-it/wordpress-reset-password).

### Cerca e sostituisci

```
search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run
```

Esegui sempre prima una simulazione (dry run). La guida completa, incluso il motivo per cui una sostituzione SQL grezza corrompe un database WordPress, è in [Eseguire una ricerca e sostituzione](https://support.kapsulehost.com/it-it/wordpress-search-replace).

## Console o Azioni rapide?

Entrambe eseguono lo stesso motore WP-CLI sottostante. Scegli in base a questo criterio:

| Compito | Percorso migliore |
|---|---|
| Svuotare la cache, aggiornare i plugin, rigenerare i media | **Azioni rapide**, un clic ed esegue prima il backup |
| Ricerca e sostituzione con anteprima per tabella | **Azioni rapide**, la scheda Search & Replace |
| Qualsiasi cosa richieda un flag specifico | Console |
| Elencare, ispezionare, diagnosticare | Console |
| Eseguire un singolo evento cron in ritardo | Console |
| Modificare `wp-config.php` o importare un database | Nessuna delle due. Usa il file manager o phpMyAdmin |

## Quando hai bisogno di più della allowlist

Per un WP-CLI senza restrizioni, connettiti via SSH ed esegui `wp` direttamente dalla directory del tuo sito. SSH utilizza solo l'autenticazione a chiave, quindi aggiungi prima la tua chiave pubblica dalla scheda **Impostazioni** del sito, poi dalla scheda **Chiavi SSH**. I dettagli della connessione, inclusi host, porta e nome utente esatti, sono mostrati sulla stessa schermata. Vedi [Aggiungere chiavi SSH](https://support.kapsulehost.com/it-it/adding-ssh-keys) e [Connettersi tramite SFTP](https://support.kapsulehost.com/it-it/sftp-access).

## Risoluzione dei problemi

**"'x y' is not in the allowed command list."** Il comando non è nella allowlist. Controlla la tabella sopra per l'equivalente consentito più vicino, oppure usa SSH.

**"No results returned. Check that WP-CLI is available."** Il comando è stato eseguito ma non ha stampato nulla. Di solito è un comportamento corretto per una query senza risultati.

**Il comando va in timeout.** I comandi della console sono limitati a 60 secondi. Le operazioni lunghe, come la rigenerazione di una libreria multimediale di grandi dimensioni, dovrebbero essere eseguite da **Azioni rapide**, che utilizza un limite più lungo, oppure via SSH.

**Niente viene eseguito e i pulsanti sono disattivati.** Il ruolo del tuo account KapsuleHost è di sola lettura per questo sito. Chiedi a un titolare dell'account di innalzarlo.
